MySQL - 连接表查询为null,这使得整个查询为null

时间:2016-06-29 14:05:47

标签: mysql

我有以下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 个答案:

答案 0 :(得分:3)

使用LEFT JOJN而不是join。只有加入才意味着内部联接。 Reference