我想要一个查询,它会显示一列具有缺失数据的默认值。例如,假设我有一个表格如下:
type_lookup:
id name
-----------
1 self
2 manager
3 peer
如下表
数据:
id type_lookup_id value
--------------------------
1 1 1
2 1 4
3 2 9
4 2 1
5 2 9
6 1 5
7 2 6
8 1 2
9 1 1
运行查询后,我想要一个结果集如下:
type_lookup_id value
----------------------
1 13
2 25
3 0
我希望type_lookup表中的所有行都包含在结果集中 - 即使它们没有出现在数据表中。
答案 0 :(得分:0)
读取数据布局有点困难,但以下内容应该可以解决问题:
SELECT tl.type_lookup_id, tl.name, sum(da.type_lookup_id) how_much
from type_lookup tl
left outer join data da
on da.type_lookup_id = tl.type_lookup_id
group by tl.type_lookup_id, tl.name
order by tl.type_lookup_id
[编辑] ...随后通过将count()更改为sum()来编辑。