我有一個查詢,如:
SELECT a.EmployeeId,
count(a.JobStatusId) cTotOut
FROM ActivityRecord a
where a.jobstatusid <> 5
GROUP BY a.EmployeeId
SELECT a.EmployeeId,
count(a.JobStatusId) cTotHis
FROM ActivityRecord a
where a.jobstatusid = 5
GROUP BY a.EmployeeId
我的電腦上的結果是這樣的:

我希望上面的查詢成為一個單一的查詢,并變成這樣的:
---------------------------------------
EmployeeId cTotOut cTotHis
---------------------------------------
A 7 5
B 5 7
C 4 8
我有一個問題:
是否可以將兩個不同的條件合并到一個查詢中?
請指教。
謝謝你。
uj5u.com熱心網友回復:
使用條件聚合:
SELECT
EmployeeId,
COUNT(CASE WHEN jobstatusid <> 5 THEN 1 END) AS cTotOut,
COUNT(CASE WHEN jobstatusid = 5 THEN 1 END) AS cTotHis
FROM ActivityRecord
GROUP BY EmployeeId;
uj5u.com熱心網友回復:
SELECT a.EmployeeId,
SUM(
CASE
WHEN a.JobStatusId<>5 THEN 1
ELSE 0 END) cTotOut,
SUM(
CASE
WHEN a.JobStatusId=5 THEN 1
ELSE 0 END)cTotHis
FROM ActivityRecord a
GROUP BY a.EmployeeId
你可以試試這個。抱歉,關于 LinQ 我一無所知,如果可能的話以及如何
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/322827.html
標籤:sql
上一篇:SQLServer查詢解決
下一篇:如何避免在資料庫中創建新列
