уплотняющие строки в sql - PullRequest
0 голосов
/ 12 июня 2018
SELECT case when t1.state != 1 then 'no' else 'yes' end as state,
       convert(date, t1.date, 101), 
       t2.name, 
       t2.descript,
       count(t2.runs) as runs,
       SUM(t2.pass) as pass
FROM my_table1 t1 (NOLOCK)
LEFT OUTER JOIN my_table2 t2 (NOLOCK) on t1.name = t2.name
GROUP BY t2.name, t1.date, t2.descript, t1.state

Выше мой запрос

Проблема, с которой я столкнулся, заключается в том, что строки не сгущаются, чтобы показать общую сумму их значений.Вы можете спросить об описании, они одинаковы во всем списке значений, которые я смотрю.Просто не уверен, почему мои ценности не сгущаются.Я использую Microsoft SQL Server Management Studio.

Вывод, который я получаю, выглядит так: enter image description here

1 Ответ

0 голосов
/ 12 июня 2018

Вам нужна агрегация, предположительно:

SELECT (case when t1.state <> 1 then 'no' else 'yes' end) as state,
       convert(date, t1.date, 101), 
       t2.name, 
       t2.descript,
       count(t2.runs) as runs,
       SUM(t2.pass) as pass
FROM my_table1 t1 (NOLOCK) LEFT OUTER JOIN
     my_table2 t2 (NOLOCK) 
     ON t1.name = t2.name
GROUP BY (case when t1.state <> 1 then 'no' else 'yes' end),
         convert(date, t1.date, 101), name, descript;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...