我有 3 個表 - 2 個輸入和 1 個查找
Tab1
Id
4
4
5
6
8
2
Tab2
ID
4
4
1
1
2
6
tab3
ID Name
1 One
2 two
3 three
4 four
5 five
6 six
7 seven
8 eight
我需要一個可以幫助我獲得的查詢
Count Name
1 One
1 two
0 three
1 four
1 five
1 six
0 seven
1 eigh
我已經嘗試過In等,但我無法得到結果。此外,完全連接將 ID 計數兩次而不是一次。
SELECT
COUNT(DISTINCT a.id) COUNT(DISTINCT b.id) AS Total,
c.id
FROM c
INNER JOIN a ON a.id= b.id
LEFT OUTER JOIN b ON c.id = b.id
GROUP BY c.id
我試過這個,但我沒有得到想要的結果。
uj5u.com熱心網友回復:
如果我正確理解了這個問題,一個可能的解決方案是使用以下陳述句UNION(從輸入表中排除重復項)和適當的JOIN使用查找表:
表格:
SELECT Id INTO Tbl1
FROM (VALUES (4), (4), (5), (6), (8), (2)) v (Id)
SELECT Id INTO Tbl2
FROM (VALUES (4), (4), (1), (1), (2), (6)) v (Id)
SELECT Id, Name
INTO tbl3
FROM (VALUES
(1, 'One'), (2, 'two'), (3, 'three'), (4, 'four'), (5, 'five'), (6, 'six'), (7, 'seven'), (8, 'eight')
) v (Id, Name)
陳述:
SELECT t.Name, Count = COUNT(j.Id)
FROM tbl3 t
FULL JOIN (
SELECT Id FROM tbl1
UNION
SELECT Id FROM tbl2
) j ON t.Id = j.Id
GROUP BY t.Name
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/313207.html
