我在SQL 3个表SQL表连接查询
- ProductMaster与列产品名称
- 购买数据与列产品名称和数量
- SaleData与列产品名称和数量
请指引我为表连接写查询得到如下结果
PRODUCT1 10 5 5
PRODUCT2 10 0 10
PRODUCT3 10 5 5
我在SQL 3个表SQL表连接查询
请指引我为表连接写查询得到如下结果
PRODUCT1 10 5 5
PRODUCT2 10 0 10
PRODUCT3 10 5 5
您不再需要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
Sir'LEFT OUTER JOIN'允许你获取数据,即使你的SALEDATA表中不存在Productname。 –
是的,这是非常有用的.......按我希望工作.........谢谢 –
尝试开始是这样的:
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在产品名称字段。
谢谢你洙多.......其工作,但一个矿工问题是这里只有购买但没有售完的产品没有在表中显示..... –
所以使用左外连接而不是内连接 –
是左外连接正在工作........谢谢你 –
1.你必须从数量表购买数据,并从数量表SaleData,您预期的结果包含3个数量(例如,对于PRODUCT1:10 5和5)。第三个数量来自哪里?
2.你想在一行而不是三行上得到结果吗? –
购买 - 销售=关闭股票 –
我想要一张表1)产品名称,2)购买数量,3)销售量4)关闭库存数量 –