在SQL中,我有一個查詢用於查找僱員犯的錯誤類型。員工可以犯的錯誤有3種類型 - 財務,行政和FYI錯誤。我使用group by子句與employeeid和錯誤類型,但是我想僅使用employeeid進行分組,但是在這種情況下,會拋出錯誤,因爲它包含在選擇列表中,因此必須將錯誤類型包含在組中。根據條件將由group by clause返回的行合併到單行中
select i_empid,
COUNT(i_empid) as claims_audited,
sum(i_errcount) as total_errors,
case
when c_errtype = 'FINANCIAL'
then SUM(i_errcount)
else 0
end as financial_errors,
case
when c_errtype = 'ADMINISTRATIVE'
then SUM(i_errcount)
else 0
end as administrative_errors,
case
when c_errtype = 'FYI'
then SUM(i_errcount)
else 0
end as FYI_errors
from EL_Error_Mst
group by i_empid,
c_errtype
我得到的結果集是這樣的:
i_empid claims_audited total_errors financial_errors administrative_errors FYI_errors
13 1 1 0 1 0
341 1 1 0 1 0
665 2 2 0 2 0
341 1 1 1 0 0
,但我想爲每一個給每個類型的錯誤由him.how提出我能得到這個員工單列?
MySQL或SQL Server?請選擇一個。 – DavidG
你的問題沒有多大意義。它看起來像提供你正在尋找的輸出。這裏是改善這個問題的好地方。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –