gpt4 book ai didi

mysql - SQL 连接查询困惑 - MySQL

转载 作者:行者123 更新时间:2023-11-29 07:43:01 25 4
gpt4 key购买 nike

我在 MySQL 中有三个表。

  • customers其中有列 {id, name, and email}
  • products其中有列 {id and name}
  • purchased其中包含 {id, customer}
  • product其中客户和产品customers.id索引products.id分别。

我对如何获取客户的姓名和他购买的所有产品有点困惑。这是我所拥有的,它基本上返回产品和客户的所有可能组合,而不是特定的客户信息:

SELECT 
customers.email,
products.name
FROM
customers, products, purchased
INNER JOIN
customers cu
ON
cu.id = purchased.customer
INNER JOIN
products pr
ON
pr.id = purchased.product
WHERE
purchased.customer = 1

我希望这会返回 ID 为 1 的客户购买的所有产品,但事实并非如此。有人可以帮我吗?

最佳答案

您混合了显式连接和隐式连接,从而产生了问题。您可能有以下疑问。此外,您已经为连接表使用了别名,并且还需要在选择中使用它们。

SELECT cu.email, pr.name FROM purchased
INNER JOIN customers cu
ON cu.id = purchased.customer
INNER JOIN products pr
ON pr.id = purchased.product
WHERE pr.customer = 1

关于mysql - SQL 连接查询困惑 - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28529581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com