您对使用SQlite
的Android中的SQL查询有点疑惑 我有3个简单的表格 表类别 |_id|name|
|1 |cat1
|2 |cat2
|3 |cat3
|4 |cat4
表格列表
|_id|name|
|1 |list1
|2 |list2
|3 |list3
|4 |list4
我有其他表包含以前表的id
|_id|category|list |name
| 1 |2 |1 |item1
| 2 |1 |2 |item2
| 3 |2 |3 |item3
| 4 |2 |1 |item4
我想离开加入猫咪表 这总是显示为 cat1(数10) cat2(数2) cat3(数3) cat4(伯爵4)
当我使用list = 1过滤时,该类别不显示空列
任何建议
答案 0 :(得分:1)
您可以使用子查询:
SELECT category.name as cat, B.catcount as catcount
FROM category LEFT JOIN (SELECT table3.category, count(*) AS catcount
FROM table3
WHERE table3.list=1
GROUP BY table3.category) as B ON category.[_id] = B.category;
应该提供如下输出:
|cat |catcount|
|cat1 | null|
|cat2 | 2|
|cat3 | null|
|cat4 | null|