Объединить несколько строк в одну строку на основе одного и того же ключа - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть следующий набор данных:

key       column1  column2  column3
20171021  1        0        0
20171021  0        1        0
20171021  0        0        1

Как видите, ключ одинаков для всех строк.

Мне нужен следующий вывод:

key       column1  column2  column3
20171021  1        1        1

Может кто-нибудь помочь мне написать SQL-заявление, которое выполняет это?

Ответы [ 3 ]

0 голосов
/ 30 сентября 2019

использовать агрегацию

select [key], max(ccolumn1),max(column2) ,max(colum3) from table group by [key]
0 голосов
/ 30 сентября 2019

вы можете использовать max() and group by для достижения этой цели.

select [key], max(column1), max(column2), max(column3) from tableA group by [key]
0 голосов
/ 30 сентября 2019

Это выглядит как простой агрегатный запрос:

SELECT [key], MAX(column1) column1, MAX(column2) column2, MAX(column3) column3
FROM mytable
GROUP BY [key]

Примечание: я использовал агрегатную функцию MAX(), но, учитывая ваши данные выборки, это также может быть SUM(), что вам нужно;выберите тот, который подходит вашему варианту использования.

...