【问题标题】:How to get Data from three tables in one query where table 2 contains foreign keys from table 1 and 3如何在一个查询中从三个表中获取数据,其中表 2 包含表 1 和表 3 中的外键
【发布时间】:2019-10-16 13:37:51
【问题描述】:

我想获取一种产品的所有供应商,其中包含我使用下表的产品详细信息。

我有一张表products 有列

id(pk) 
name 
type

第二张表product_supplier 有列

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

第三张表supplier 带列

id(pk)
firstname
lastname

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

【问题讨论】:

  • 你能告诉我们你在这方面的最佳尝试吗
  • 其实我不知道怎么加入三个表,所以我的尝试还是限制在两个表
  • 向我们展示你拥有的东西,然后我们可以添加它。把它放在问题中,不要在评论中发表

标签: mysql join subquery


【解决方案1】:

这是你要找的吗?

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

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

【讨论】:

  • 是的,它工作正常。谢谢!但是你能解释一下这是如何工作的吗?
  • @ZaynJutt:这些只是简单的连接。您可能想谷歌sql join,有许多在线资源可以了解这一点。
猜你喜欢
  • 2021-02-28
  • 2018-11-05
  • 1970-01-01
  • 2019-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
  • 2014-03-12
相关资源
最近更新 更多