供应商
表
Part Number Supplier
XXX A
XXX B
YYY C
零件号
表
PK_ID Part Number
1 XXX
2 YYY
我想根据零件号
中的PK_ID
使用附加列FK_ID
来选择它:
FK_ID Part Number Supplier
1 XXX A
1 XXX B
2 YYY C
什么不起作用:
SELECT s.`Part Number`, s.`Supplier`, p.`PK_ID`
FROM `Suppliers` AS s, `Part Numbers` AS p
JOIN ON s.`Part Number` = p.`Part Number`
最佳答案
切勿在 FROM
子句中使用逗号。始终使用显式 JOIN
语法:
SELECT s.`Part Number`, s.Supplier, p.PK_ID`
FROM Suppliers JOIN
`Part Numbers` p
ON s.`Part Number` = p.`Part Number` ;
我鼓励您命名表和列时不带空格,这样您就不需要转义名称。必须在 SQL 语句中添加一堆反引号只会分散编写或读取查询的注意力。
关于mysql - SQL 从其他表中选择具有相应值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36292205/