Объединение похожих строк SQL - PullRequest
0 голосов
/ 10 января 2019

Я хочу объединить базы строк некоторых условий IF в SQL. Моя база данных выглядит так

| com_id | bom_id |fil_title
=====================
| 6067   | 6070   |NULL
| 6067   | 6070   |07
| 6067   | 6071   |NULL
| 6067   | 6071   |07
| 6067   | 6069   |NULL

То, чего я хочу достичь, это

| com_id | bom_id |fil_title
=====================
| 6067   | 6070   |07
| 6067   | 6071   |07
| 6067   | 6069   |NULL

Так что каждый раз, если у меня было два ряда с одинаковым bom_id, я хочу объединить их в один, но если у меня был один, просто оставьте его.

Это всего лишь пример - мой полный запрос больше, но проблема только в этом. Я знаю, что в SQL есть некоторый IF, но я не знаю, как его использовать.

// EDIT Что я не упомянул точно, у меня есть больше полей с некоторыми случайными значениями Я хочу выбрать эти значения только из строки, которая не является нулевой. (но только если у нас было 2 ряда). Вот почему не работает четкое и простое агрегирование

Ответы [ 2 ]

0 голосов
/ 10 января 2019

Или вы можете использовать разные, чтобы сделать это

select com_id , bom_id , max(fil_title)
from table t
group by com_id , bom_id
0 голосов
/ 10 января 2019

Просто сделай агрегацию :

select com_id, bom_id, max(fil_title)
from table t
group by com_id, bom_id;

Если результат этого примера взят из другого запроса, используйте вместо него subquery:

select com_id, bom_id, max(fil_title)
from ( <query here>
     ) t
group by com_id, bom_id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...