Как объединить строки на основе совпадающей переменной столбца - PullRequest
1 голос
/ 20 мая 2019

Это огромный запрос, но у меня есть вспомогательный пример для понимания.Я заранее прошу прощения, я впервые задаю вопрос с моими любительскими навыками.

У меня есть две строки из вывода.Существует много столбцов, но только три имеют данные по одной строке за раз (всегда так), остальные - нулевые.Как мне объединить эти две строки, потому что обе разделяют общую переменную в двух столбцах (то есть идентификаторы и Pass_numb одно и то же говорят мне, что я хочу их объединить)?

По сути, как обе строки объединяются и заполняютсянулевые значения?Имейте в виду, что этот простой результат / пример уже является результатом других запросов.

Этот простой визуальный эффект является результатом подзапросов

Pass_numb   ID_1      Restriction_1     Pass_numb_2  ID_2     Restriction_2
-----       -----     --------------    -----        ----     --------------
NULL        NULL      NULL              1            1000     ENL
1           10000     LS                NULL         NULL     NULL

Я больше прошу концептуальную помощь, так как не знаю, как объяснить, что я хочу, не набираякнига.Любые общие предложения или ссылки на конкретные тематические ресурсы были бы хорошими.

Я бы ожидал увидеть следующее из моего простого примера выше:

Pass_numb   ID_1      Restriction_1     Pass_numb_2  ID_2     Restriction_2
-----       -----     --------------    -----        ----     --------------
1           10000     LS                1            1000     ENL

Большое спасибо, если кто-нибудь может протянуть руку или привести меня куда-нибудь!

1 Ответ

0 голосов
/ 20 мая 2019

Для этого примера вы можете использовать агрегацию:

select max(Pass_numb) as Pass_numb,
       max(ID_1) as ID_1,
       max(Restriction_1) as Restriction_1,
       max(Pass_numb_2) as Pass_numb_2,
       max(ID_2) as ID_2
from t
group by coalesce(Pass_numb, Pass_numb_2);

Тем не менее, вероятно, есть способ исправить подзапрос, чтобы он этого не делал. Однако, если это сложно, это может потребовать переписывания большого количества кода.

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