簡體   English   中英

mySQL選擇查詢語句

[英]mySQL Select Query Statement

在我的餐桌上

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 ..

您可以使用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

示例SQL提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM