tsql sum数据并包含缺失数据的默认值

时间:2010-05-13 15:43:12

标签: tsql

我想要一个查询,它会显示一列具有缺失数据的默认值。例如,假设我有一个表格如下:

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表中的所有行都包含在结果集中 - 即使它们没有出现在数据表中。

1 个答案:

答案 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()来编辑。