tsql сумма данных и включают значения по умолчанию для отсутствующих данных - PullRequest
0 голосов
/ 13 мая 2010

Я хотел бы запрос, который покажет сумму столбцов со значением по умолчанию для отсутствующих данных. Например, предположим, у меня есть следующая таблица:

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 голосов
/ 13 мая 2010

Сложно прочитать ваш макет данных, но что-то вроде следующего должно помочь:

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

[EDIT] ... впоследствии редактируется изменением count () на sum ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...