mysql - 如何在一个查询中从三个表中获取数据,其中表 2 包含表 1 和 3 中的外键

标签 mysql join subquery

我想获取一种产品的所有供应商以及我使用下表的产品详细信息。

我有一个带有列的表产品

id(pk) 
name 
type

第二个表product_supplier,其中包含列

psid(pk)
pid(fk from products)
sid(fk from supplier)

第三个表supplier,其中包含列

id(pk)
firstname
lastname

我想在一个 mysql 查询中从这三个表中获取数据。

最佳答案

这是您要找的吗?

select p.*, s.*
from products p
inner join product_supplier ps on ps.pid = p.id
inner join supplier s on s.id = ps.sid
order by p.id, s.id

这将返回每个产品以及所有关联的供应商。

关于mysql - 如何在一个查询中从三个表中获取数据,其中表 2 包含表 1 和 3 中的外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58414716/

相关文章:

mysql - MYSQL多表匹配结果

sql-server - MSSQL JOIN ON GROUP BY 太慢

Mysql 使用不同的参数多次使用同一列构建查询。使用子查询?

mysql - 在子选择 IN() 中使用 SELECT 结果

php - mysql where 子句中的 if 条件

mysql - 反之亦然的 SQL 查询

sql-server - ANSI JOIN 与非 ANSI JOIN 查询的性能是否会有所不同?

python - 根据每个单独数据帧的行索引(编号)连接/加入/合并多个数据帧

mysql - 如何将我的表名告诉 laravel5 auth Controller ?

php - 显示不同的语句,取决于价格变量是否为空