Частичное соединение двух рядов - PullRequest
0 голосов
/ 24 марта 2020

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

id | date       | metadata | details
------------------------------------------
1  | 2020-01-01 | fruit    | null
1  | null       | null     | banana, apple
2  | 2020-02-02 | dairy    | null     
2  | null       | null     | milk, yogurt

Я хочу "объединить" эти две строки, чтобы они выглядели так:

id | date       | metadata | details
------------------------------------------
1  | 2020-01-01 | fruit    | banana, apple
2  | 2020-02-02 | dairy    | milk, yogurt  

Я хотел бы переместить строку с ненулевой details столбец в нулевой. Могу ли я получить некоторые рекомендации о том, как я могу добраться до этого? Спасибо.

1 Ответ

1 голос
/ 24 марта 2020

Вы можете агрегировать, используя max (). Поскольку агрегатные функции игнорируют значения NULL, вы получите желаемый результат.

select id, 
       max(date) as date, 
       max(metadata) as metadata, 
       max(details) as details
from the_table
group by id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...