Создать новый столбец в запросе из строк данных, используя псевдонимы SQL. - PullRequest
0 голосов
/ 29 января 2020

У меня есть 3 разных (информация о людях и адресах), которые в настоящее время находятся в 3 рядах. Мне нужно, чтобы они были в одном ряду на номер проекта. Я думаю, что мне нужно делать самостоятельные объединения, но я застреваю в синтаксисе. Это должен быть запрос, который не агрегируется и не может использовать сводную функцию.

Current SQL Оператор:

Select ActivityID, NAMETYPE, NAME, ADDRESS1, CITY, Zip from People

Текущий вывод

ActivityID      NAMETYPE     NAME                        ADDRESS                    CITY    STATE ZIP
SPAR19-00001    APPLICANT    weler, Inc.                  W204 Goldendale Road      town    MI  12354
SPAR19-00001    OWNER        Aircraft Services LLC        26 Aviation Dr         villiage   MI  12345
SPAR19-00001    ARCHITECT    Engineering Consultatns      700 Parkway               Grove   MI  12345

Хотите, чтобы это выглядело как

ActivityID   APPLNAME      APPLADDRESS       APPLCITY    OWNERNAME        OWNERADDRESS    OWNERCITY etc
SPAR19-00001 weler, Inc.   W204 Goldendale Road  town    Aircraft Services 26 Aviation Dr villiage

Вот картинка для большей наглядности. enter image description here

1 Ответ

0 голосов
/ 29 января 2020

вы хотите сгруппировать по столбцу и использовать max (case logi c) следующим образом

select ActivityID
       , max(case when NAMETYPE='APPLICANT' then NAME end) as applname
       , max(case when NAMETYPE='APPLICANT' then ADDRESS1 end) as appladdress
       , max(case when NAMETYPE='APPLICANT' then CITY end) as applcity
       , max(case when NAMETYPE='OWNER' then NAME end) as ownername
       , max(case when NAMETYPE='OWNER' then ADDRESS1 end) as owneraddress
       , max(case when NAMETYPE='OWNER' then CITY end) as ownercity
  from People
group by ActivityID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...