作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 SQL 语句中,我正在查询 2 个表以获取导航栏的标签和链接。查询检查 site_menu
对于label
和page_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/
我是一名优秀的程序员,十分优秀!