2016-10-30 3 views
0

в моей таблице посещаемостиЗаявление MySql Выберите Query

Insert Into tblAttendance(cEmpID,cCode,dDate,notMin) Values 
('1000','R' , 120,'2016-10-27'), 
('1000','R' , 120,'2016-10-28'), 
('1000','S' , 120,'2016-10-29'), 
('1000','L' , 120,'2016-10-30'), 
('1001','R' , 120,'2016-10-27'), 
('1001','R' , 120,'2016-10-28'), 
('1001','S' , 120,'2016-10-29'), 
('1001','L' , 120,'2016-10-30') 

мне нужно суммировать все OT Мин. на код выход что-то вроде этого .. EmpID, R-Total, S-Total, L-Total

вот мой пример запроса

Select (Select sum(nOTMin) from tblattenddetail Where cCode='R') 'R-Total', 
     (Select sum(nOTMin) from tblattenddetail Where cCode='S') 'S-Total', 
     (Select sum(nOTMin) from tblattenddetail Where cCode='L') 'L-Total' 

мне нужно включать в cEmpID .. Пожалуйста, помогите мне как я буду пересматривать это, чтобы включить cEmpID ..

ответ

1

Вы можете использовать выражение case, чтобы условно заполнить правильные значения. Это должно делать то, что вы хотите:

SELECT 
    cEmpID, 
    SUM(CASE WHEN cCode='R' THEN nOTMin ELSE 0 END) AS 'R-Total', 
    SUM(CASE WHEN cCode='S' THEN nOTMin ELSE 0 END) AS 'S-Total', 
    SUM(CASE WHEN cCode='L' THEN nOTMin ELSE 0 END) AS 'L-Total' 
FROM tblAttendance 
GROUP BY cEmpID 

Sample SQL Fiddle

+1

Почему никто не сказал мне, что вы можете использовать одинарные кавычки для псевдонимов столбцов? Это спасло бы меня, как 5 минут моей жизни ;-) –

Смежные вопросы