SQL内连接创建重复项

ogw*_*ard 3 sql inner-join

我有三个表,供应商,产品和交付.我想在交货表中显示供应商名称和数量.有5个不同的供应商,有12个交付.我希望连接表应包含12行,其中包含名称和交付.

这是我的代码.

SELECT  Suppliers.SNAME, Deliveries.QTY
FROM Suppliers, Deliveries
INNER JOIN  Products
ON Deliveries.P=Products.Penter (typo, should be Products.P)
Run Code Online (Sandbox Code Playgroud)

输出是60行,有许多重复和一些不正确的匹配.

表: 供应商 制品 交付

Har*_* CO 5

取消已弃用的隐式连接,并指定JOIN条件,不确定您的表结构,例如:

SELECT  s.SNAME, d.QTY
FROM Deliveries d
INNER JOIN Suppliers s
 ON d.s = s.s
INNER JOIN  Products p
 ON d.p = p.p
Run Code Online (Sandbox Code Playgroud)

未指明的隐含JOIN即:

SELECT  Suppliers.SNAME, Deliveries.QTY
FROM Suppliers, Deliveries
Run Code Online (Sandbox Code Playgroud)

将导致每个表中的每个记录加入到另一个表中的每个记录,在您的情况下,5个记录和12个记录= 60个组合.