gpt4 book ai didi

mysql - 如果子查询返回 null,如何替换外部查询值

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

这是我的查询:

SELECT * FROM main_menu AS m WHERE EXISTS(select * from menu where menu.main_menu_id = m.main_menu_id AND menu.menu IS NOT NULL)

仅当菜单表中相应的行不为 NULL 时,以上查询才会显示 main_menu 表中的行,这是正确的。

但是我想做更多的事情。如果菜单表(子查询)的值发现 NULL ,则应更改 main_menu 值(外部查询),类似于使用 IFNULL 但对于外部查询。请问我该怎么做?

最佳答案

那么您应该使用 LEFT JOIN 而不是 EXISTS() 语句:

SELECT m.*,COALESCE(m2.<Column>,OtherValue),....
FROM main_menu m
LEFT JOIN menu m2
ON(m2.main_menu_id = m.maid_menu_id AND m2.menu is not null)

即使没有此类记录,这也会连接两个表,并且所有菜单列都具有 NULL 值。

您没有定义“应该更改”,所以这是我能想到的最好的。

关于mysql - 如果子查询返回 null,如何替换外部查询值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37248399/

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