我有一張表,我試圖從2個左連接的相同數據中獲得2個不同的計數。TSQL加入多個表的表格
無論出於何種原因,它是複製數據並提供不正確的結果,我不知道爲什麼。
這是我迄今爲止查詢我本以爲這是工作:
DECLARE @locale INT = '14'
SELECT TOP 50
E.[DepartmentDesc] AS department,
COUNT(N.[nomineeQID]) AS totalNominations,
COUNT(S.[subQID]) AS totalSubmissions,
COUNT(N.[nomineeQID]) + COUNT(S.[subQID]) AS total
FROM
employees AS E
LEFT JOIN
submissions AS S ON E.[qid] = S.[subQID] AND S.[statusID] = 3
AND S.[locationID] = @locale
LEFT JOIN
submissions AS N ON E.[qid] = N.[nomineeQID] AND N.[statusID] = 3
AND N.[locationID] = @locale
GROUP BY
E.[DepartmentDesc]
ORDER BY
totalNominations DESC
下面是數據的SQL小提琴:http://sqlfiddle.com/#!3/4e6b5/1
結果應該是下面的,但它是提供偏斜的數字:
- 總提名應該是3
- 總提交應該是2
- 總計應爲5
我有一種感覺,它的接近,但數學只是不配合!
任何想法?
檢查我的答案;)我想沒關係 – 2014-09-02 14:29:07
我已經更新了我的答案以削減0/0行,顯示sqlfiddle爲o – 2014-09-02 14:35:52
我再次更新了有關按部門分類的答案。也顯示sqlfiddle;) – 2014-09-02 14:45:19