【发布时间】:2011-10-12 06:59:58
【问题描述】:
我有一个表,其中一个字段包含一个整数或NULL。
parent_id
2
4
6
NULL
NULL
45
2
我将如何添加一个 IFNULL 语句以便ans_count 将填充0 而不是NULL?
这是我的 SQL 代码:
...
(SELECT parent_id AS pid, COUNT(*) AS ans_count
FROM qa
GROUP BY parent_id) AS n
更新
下面的完整 SQL - 感谢大家的耐心等待。
SELECT *
FROM qa
JOIN user_profiles
ON user_id = author_id
LEFT JOIN (SELECT cm_id,
cm_author_id,
id_fk,
cm_text,
cm_timestamp,
first_name AS cm_first_name,
last_name AS cm_last_name,
facebook_id AS cm_fb_id,
picture AS cm_picture
FROM cm
JOIN user_profiles
ON user_id = cm_author_id) AS c
ON id = c.id_fk
LEFT JOIN (SELECT parent_id AS pid, COUNT(*) AS ans_count
FROM qa
GROUP BY parent_id) AS n
ON id = n.pid
WHERE id LIKE '%'
ORDER BY id DESC
【问题讨论】:
-
在没有反馈或建议的情况下投反对票?非常感谢
-
我没有投反对票,但您的描述是令人困惑。它显示了一个名为
parent_id的列,其中包含 NULL,但稍后您将讨论为不同的列消除 NULL,ans_count。更令人困惑的是,您的代码 sn-p 包含两者。 -
同意 - 很抱歉造成混乱 - 刚刚发布了完整的 SQL,如果需要更多信息,请告诉我
-
感谢您提供完整的查询,这解释了所有的困惑。有关详细信息,请参阅我的更新答案