gpt4 book ai didi

mysql - 使用 MySQL 使用 LEFT JOIN 返回结果,其中一个表不包含记录

转载 作者:行者123 更新时间:2023-11-29 08:58:41 25 4
gpt4 key购买 nike

这是一个随机问题,我一直在使用 MySQL 中的多个查询和少量 PHP 来完成此问题。

我有一个 MySQL 查询:

SELECT * 
FROM (reviews LEFT JOIN orders ON reviews.orderid = orders.orderid)
LEFT JOIN customers ON orders.custid = customers.id
WHERE customers.email = '$email'

返回来自特定客户的所有产品评论。

我想知道构造一个单独的查询,该查询将返回所有尚未审核的客户订单。也就是说,评论表中没有特定 orderid 的记录。

所以...

SELECT * 
FROM orders LEFT JOIN customers ON orders.custid = customers.id
WHERE customers.email = '$email'

...这将返回所有客户订单,但我可能想使用另一个 WHERE 子句和 LEFT JOIN,以便现在仅返回没有相应评论记录的 orderid。一段时间以来,我一直在尝试寻找可以做到这一点的东西,但没有任何运气。似乎没有什么可以完成这项工作。

如上所述,我已经成功地使用 PHP/MySQL 的组合来做到这一点,但是,它不是很有效,所以我想知道是否有人有任何建议?

提前致谢。

瑞恩

最佳答案

SELECT * 
FROM customers
JOIN orders
ON orders.custid = customers.id
WHERE customers.email = '$email'
AND orders.orderid NOT IN
( SELECT orderid FROM reviews )

...也许

关于mysql - 使用 MySQL 使用 LEFT JOIN 返回结果,其中一个表不包含记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9221366/

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