你好任何人都可以帮我解决这个问题
我有3个表FundsPlanning
、GradeMst
和SupplierMst
我需要像这样的列SupplierId
,WeightLoaded
,DeliveryDate
,InvoiceAmount
,GradeName
。
但问题是FundsPlanning
和GradeMst
之间没有关系。
因此GradeName
列存在于GradeMst表中。
还有一个表PurchaseContract
,它与SupplierId
和GradeId
有外键关系,因此我可以找到Grade的Id。
使用下面的查询,我可以得到等级列的记录
SELECT GradeId, Grade
FROM GradeMst
WHERE GradeId In (SELECT Gradeid FROM PurchaseContract WHERE SupplierId=2)
使用下面的查询,我可以找到SupplierId
、WeightLoaded
、DeliveryDate
和InvoiceAmount
。
SELECT FP.SupplierId,SM.SupplierId,FP.WeightLoaded,FP.DeliveryDate,FP.InvoiceAmount
FROM FundsPlanning FP
INNER JOIN SupplierMst SM
ON FP.SupplierId=SM.SupplierId and SM.SupplierId=2
如何合并这两个表的结果集?
1条答案
按热度按时间gdrx4gfi1#
您可以尝试连接所有表,但需要注意表之间的关系(1-1、1-多、多-多),因为最终可能会得到重复的行