下面的SQL代碼向我介紹了我的客戶以及他們在2015年12月所做的訂單。我想用UNION來完成此任務。SQL:如何使用Union和2種不同類型的數據
select k.klantnr, k.naam, count(b.bestelnr) as 'aantal bestellingen'
from klant k LEFT JOIN bestelling b on k.klantnr = b.klantnr and Year (b.besteldatum) = 2015 and Month(b.besteldatum) = 12
group by k.klantnr, k.naam
我已經嘗試過:
select klantnr from klant
union
select klantnr, count(*) from bestelling
where Year(besteldatum) = 2015 and Month(besteldatum) = 12
group by klantnr
顯然沒有工作給我這個錯誤:所有的查詢使用UNION合併,交叉或EXCEPT運營商必須在其目標列表中的相同數目的表達式。
當我搜索的谷歌,我發現下一個查詢:
select tem.klantnr, count(*)
from(select klantnr from klant
union
select klantnr from bestelling where Year(besteldatum) = 2015 and Month(besteldatum) = 12) as tem
group by klantnr
不給我訂單每個客戶的計數。
MySQL或SQL Server,它RDBMS使用的是? – Sami
**爲什麼**你想用'UNION'做到這一點?你在尋找什麼樣的產出? (請提供樣本數據和預期輸出) – HoneyBadger
我不認爲你需要一個工會,但是一個左連接。 – Peter