2016-10-01 120 views
-2

我在SQL 3個表SQL表連接查詢

  1. ProductMaster與列產品名稱
  2. 購買數據與列產品名稱和數量
  3. SaleData與列產品名稱和數量

請指引我爲表連接寫查詢得到如下結果

PRODUCT1 10 5  5 
PRODUCT2 10 0  10 
PRODUCT3 10 5  5 
+0

1.你必須從數量表購買數據,並從數量表SaleData,您預期的結果包含3個數量(例如,對於PRODUCT1:10 5和5)。第三個數量來自哪裏?
2.你想在一行而不是三行上得到結果嗎? –

+0

購買 - 銷售=關閉股票 –

+0

我想要一張表1)產品名稱,2)購買數量,3)銷售量4)關閉庫存數量 –

回答

0

您不再需要ProductMaster表,因爲你需要的所有信息都在購買數據和SALEDATA

SELECT P.[ProductName] as ProductName, P.PurchaseQty, S.SalteQTY, P.purchaseQTY-S.SalteQTY as ClosingQty 

    FROM [PURCHASEDATA] P LEFT OUTER JOIN [SALEDATA] S ON P.ProductName=S.ProductName 
+0

Sir'LEFT OUTER JOIN'允許你獲取數據,即使你的SALEDATA表中不存在Productname。 –

+0

是的,這是非常有用的.......按我希望工作.........謝謝 –

0

嘗試開始是這樣的:

SELECT [ProductMaster].[ProductName] 
    ,[PurchaseData].[Quantity] AS [PurchasedQuantity] 
    ,[SaleData].[Quantity]  AS [SoldQuantity] 
    ,[PurchaseData].[Quantity] 
     - [SaleData].[Quantity] AS [ClosingStock] 
    FROM [ProductMaster] 
    LEFT OUTER JOIN [PurchaseData] 
     ON [ProductMaster].[ProductName] = [PurchaseData].[ProductName] 
    LEFT OUTER JOIN [SaleData] 
     ON [ProductMaster].[ProductName] = [SaleData].[ProductName] 

的想法是有主表和聯接兩個從屬表到主用INNER JOIN在產品名稱字段。

+0

謝謝你洙多.......其工作,但一個礦工問題是這裏只有購買但沒有售完的產品沒有在表中顯示..... –

+0

所以使用左外連接而不是內連接 –

+0

是左外連接正在工作........謝謝你 –