【问题标题】:MySQL - joined table query is null which makes the whole query nullMySQL - 连接表查询为空,这使整个查询为空
【发布时间】: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) 的事情,但它不起作用。

我该如何解决这个问题?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    使用 LEFT JOJN 代替 join 。只有 join 将暗示 inner join 。 Reference

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-31
      • 2021-10-17
      • 1970-01-01
      • 2011-09-02
      • 2016-01-24
      • 2017-10-29
      相关资源
      最近更新 更多