gpt4 book ai didi

mysql - 在 MySQL 中使用 IF 语句包含所有结果

转载 作者:行者123 更新时间:2023-11-29 16:53:24 24 4
gpt4 key购买 nike

在我的 SQL 语句中,我正在查询 2 个表以获取导航栏的标签和链接。查询检查 site_menu对于labelpage_id然后得到filename来自site_pages表。

我遇到的问题是可以有下拉菜单,这样 label下拉菜单不会有关联的 page_id ,但我仍然希望它在结果中返回。

我相信我可以将 If/ELSE 功能添加到 SQL 语句中?

     SELECT
site_menu.page_id,
site_menu.label,
site_pages.filename
FROM
site_menu,
site_pages
WHERE
site_menu.site_id = 1
AND
site_menu.parent_id = 0
AND
site_pages.id = site_menu.page_id
ORDER BY
site_menu.ord
ASC

最佳答案

您应该将隐式 JOIN (,) 替换为 LEFT JOIN,以便无论条目是否存在于查询中,查询都会返回结果site_pages 表:

 SELECT
site_menu.page_id,
site_menu.label,
site_pages.filename
FROM
site_menu
LEFT JOIN
site_pages
ON
site_pages.id = site_menu.page_id
WHERE
site_menu.site_id = 1
AND
site_menu.parent_id = 0
ORDER BY
site_menu.ord
ASC

关于mysql - 在 MySQL 中使用 IF 语句包含所有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52692755/

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