Возврат таблицы с перечислением различных значений в каждом столбце - PullRequest
0 голосов
/ 26 декабря 2018

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

Я понимаю, как вернуть список отличий для одного столбца, но я хотел бы, чтобы все мои результатыв одной таблице, рядом друг с другом.Порядок не имеет значения.

Примерный ввод, где в каждой строке один сотрудник:

--title-- --function-- --class--
analyst    sleeping     professional
analyst    sleeping     ED
analyst    sleeping     MD
scientist  observing    VP
scientist  managing     VP
scientist  researching  associate

Ожидаемый результат:

--title-- --function-- --class--
analyst   sleeping     professional
scientist observing    ED
          managing     MD
          researching  VP
                       associate

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Вы можете сделать это, используя row_number() и агрегацию:

select min(title) as title, min(function) as function, min(class) as class
from ((select title, null as function, null as class,
              row_number() over (order by title) as seqnum
       from t
       group by title
      ) union all
      (select null as title, function, null as class,
              row_number() over (order by function) as seqnum
       from t
       group by function
      ) union all
      (select null as title, null as function, class,
              row_number() over (order by class) as seqnum
       from t
       group by class
      )
     ) tfc
group by seqnum;
0 голосов
/ 26 декабря 2018

Вы можете использовать этот подход.Однако этот вид операции противоречит реляционной структуре систем RDBMS.

select * from (
    select distinct title, null as function, null as class from Table1
    union
    select distinct null, function, null from Table1
    union 
    select distinct null, null, class from Table1
)
order by title, function, class
...