MySQL - 连接表查询为空,这使整个查询为空
Posted
技术标签:
【中文标题】MySQL - 连接表查询为空,这使整个查询为空【英文标题】:MySQL - joined table query is null which makes the whole query null 【发布时间】:2016-11-01 07:22:30 【问题描述】:我有以下 mysql 查询:
SELECT u.id, u.ap, q.quests
FROM users u
JOIN(
SELECT count(quest) as 'quests', user
FROM active_quests
WHERE user = 143
) q
ON u.id = q.user
WHERE u.id = 143
我遇到的问题是,有时来自active_quests
表的连接查询将是NULL
,因为该特定用户将没有条目。但这导致整个查询变为NULL
。
用户将始终具有ap
值,但并不总是具有quests
值。
我想做类似SELECT u.id, u.ap, IFNULL(q.quests, 0)
的事情,但它不起作用。
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:使用 LEFT JOJN 代替 join 。只有 join 将暗示 inner join 。 Reference
【讨论】:
以上是关于MySQL - 连接表查询为空,这使整个查询为空的主要内容,如果未能解决你的问题,请参考以下文章