簡體   English   中英

SQL Left將兩個表合並為一個

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM