在存储过程中获得非空计数加入的正确方法

时间:2013-06-17 00:26:36

标签: sql stored-procedures

我需要根据另一个表中的插件数从SQL数据库中获取一个有序列表。除了当addonCount有空值时,如果没有找到插件,我如何将addonCount默认为0,这样可以正常工作?

以下是我现在所掌握的基本概念:

BEGIN
    SELECT * FROM Foo AS b
        LEFT JOIN (
             SELECT Foo.foo_id, COUNT(*) AS addonCount FROM Foo_Addons
             GROUP BY Foo_addons.foo_id)
        AS p ON B.foo_id = p.foo_id
        ORDER BY p.addonCount DESC
END

非常感谢提前

1 个答案:

答案 0 :(得分:1)

尝试使用合并功能。你的外部select语句可以这样做:

Select coalesce(p.addonCount, 0) as addonCount

如果值为null,则返回0,否则返回计数。