запрос, чтобы избежать левого внешнего соединения или внутреннего соединения - PullRequest
0 голосов
/ 14 мая 2018

У меня есть данные таблицы, такие как

value   pvalue  value_type
an1001  bk1001  1
an1002  null    1
an1003  null    1
an1004  bk1002  1
bk1001  ck1001  2
bk1002  ck1002  2
ck1001  MG1001  3
ck1002  null    3

Я ожидаю результата, как

value   pvalue1 pvalue2 pvalue2
an1001  bk1001  ck1001  MG1001
an1002  bk1002  ck1002  
an1003          
an1004          

есть ли способ написать запросы, где я могу избежать левого внешнего соединения или внутреннего соединения, а не использовать встроенные очереди

1 Ответ

0 голосов
/ 14 мая 2018

Вы можете использовать что-то вроде следующего запроса. Пожалуйста, обратите внимание на синтаксические ошибки, если таковые имеются.

select value,
     max(case when value_type = 1 then pvalue else null end) as pvalue1,
     max(case when value_type = 2 then pvalue else null end) as pvalue2,
     max(case when value_type = 3 then pvalue else null end) as pvalue3
from table
group by value;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...