gpt4 book ai didi

mysql - 复杂的 MySQL 左连接查询

转载 作者:行者123 更新时间:2023-11-29 12:19:33 25 4
gpt4 key购买 nike

我正在尝试编写更复杂/更好的 mysql 语句,但是我在使用逻辑创建语句时遇到了一些困难,并且不完全确定如何去做。如有任何帮助,我们将不胜感激!

基本上,我的目标声明是从产品表中选择所有产品,然后为每个产品加入一个显示 = 1 的图像

        "SELECT p
FROM CurbbedUserBundle:Product p
LEFT JOIN CurbbedUserBundle:ProductImages i
ON p.id = i.id
WHERE i.display = 1
ORDER BY p.name ASC"

感谢您的帮助!

最佳答案

如果您想要左连接,那么第二个表上的所有条件都应位于on 子句中。您需要将 where 中的条件移至 on:

SELECT p
FROM CurbbedUserBundle:Product p LEFT JOIN
CurbbedUserBundle:ProductImages i
ON p.id = i.id AND i.display = 1
ORDER BY p.name ASC

编辑:

左连接的规则是,无论 on 条件是否为真,它都会保留第一个表中的所有行。因此,如果您想按第一个表进行过滤,请将条件放在 where 子句中。它不会在 on 中执行任何操作。 右连接的规则正好相反。

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

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