我有两个数据库表,“列表”和“注意事项”。
列表中的列_id,LISTNAME
Notes有列_id,检查,LIST_ID(这是Lists._id的外键),多列不相关的这个问题。如何在选择COUNT()函数的同时连接SQL表?
我想创建一个返回四列的查询:
Lists._id,Lists.listname,此列表中所有选中Notes的计数,此列表中所有Notes的计数。
查询应来自列表返回所有条目。
我能得到的计数和_ids & listnames seperately,使用下面的查询
SELECT _id, listname FROM Lists
SELECT count(checked) FROM Notes WHERE checked='1' and list_id=foo_id
SELECT count(*) FROM Notes WHERE list_id=foo_id
在这些语句,foo_id指列表_id我想计数检查和总物品。
有人能告诉我我怎么可能把这些都变成一个查询?
积分为抛出AS在那里的数列。
我从来没有这样做过,我可以使用SUM来获取选中的列!好想法。 GROUP BY是我错过的部分。谢谢 – CodeFusionMobile 2009-12-27 15:17:31
解决了一个问题。如果“笔记”中没有匹配,则SUM(checked)返回null。我需要它默认返回0。 – CodeFusionMobile 2010-01-02 16:26:52
@CSharperWithJava:你说得对,我添加了一个'IFNULL'来避免这个问题。 – 2010-01-02 18:38:27