[英]SQL query with JOIN many-to-many table
我有三个表(简化):
项目(ID,项目名称)
1 Item1
2 Item2
3 Item3
供应商(编号,SupplierName)
1 Suppler1
2 Suppler2
SupplierM2MItem(ItemId,SupplierId)–外键
1 1
1 2
2 1
我需要像这样的所有物品的所有供应商:
Item1 Supplier1
Item1 Supplier2
Item2 Supplier1
Item3
我相信实现这一目标并不难,但我不能。 你能帮忙吗
正确的解决方案使用外部联接:
SELECT I.Item, S.Supplier
FROM Item I LEFT JOIN
SupplierM2MItem S2I
ON I.Id = S2I.ItemID LEFT JOIN
Supplier S
ON S2I.SupplierID = S.ID;
我认为这是一个内部联接加上一个外部联接。 尝试这个:
SELECT I.Item, S.Supplier
FROM Supplier S
LEFT OUTER JOIN
SupplierM2MItem S2I
ON S2I.SupplierID = S.ID
INNER JOIN
Item I
ON I.Id = S2I.ItemID
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.