[英]SQL Left Join two tables into one
列出來自Madison的消費者名稱和每個消費者的計算機請求數(如果沒有請求則為0)
現在,以下查詢說它無法綁定,我認為這是因為我試圖將兩個表LEFT JOIN到Tb_Requests。 我不知道其他任何方式。
SELECT Tb_Consumer.Name, COUNT(tb_requests.Prod_ID) 'Number of Requests'
FROM Tb_Consumer, Tb_Product
LEFT JOIN Tb_Requests
ON Tb_Consumer.Con_ID = Tb_Requests.Con_ID
WHERE Tb_Consumer.City = 'Madison'
AND Tb_Product.Name = 'Computer'
GROUP BY Tb_Consumer.Name
我有以下表格:
Tb_Consumer - 名稱,城市,Con_ID
Tb_Supplier - 名稱,城市,Supp_ID
Tb_Offers - 名稱,數量,Prod_ID,Supp_ID
Tb_Product - 名稱,Prod_ID
Tb_Requests - 名稱,數量,Prod_ID,Con_ID
Tb_Transactions - Tran_ID,Supp_ID,Con_ID,數量,價格
您可以使用以下查詢解決此問題:
SELECT T1.Name, Count(Tbl_Computer.Prod_ID)
FROM Tbl_Consumer T1 LEFT JOIN
(SELECT T2.Prod_ID, T2.Con_ID
FROM Tb_Requests T2
INNER JOIN Tb_Product T3
ON T2.Prod_ID = T3.Prod_ID
WHERE T3.Name = 'Computer') AS Tbl_Computer
ON T1.Con_ID = Tbl_Computer.Con_ID
WHERE T1.City = 'Madison'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.