Объединение элемента и его категории в один столбец - PullRequest
0 голосов
/ 10 июня 2019

Мне нужно объединить два столбца в один определенным образом.

Вот столбцы.

Column A (Items) Column B (Category)
Item 1           Category A
Item 2           Category A
Item 3           Category B
Item 4           Category B
Item 5           Category C
Item 6           Category C
...

Что я хочу достичь, это что-то вроде этого

Column AB
Category A
Item 1
Item 2
Category B
Item 3
Item 4
Category C
Item 5
Item 6

Пожалуйста, сообщите, поскольку у меня есть ощущение, что у этой проблемы есть простое решение, я просто не могу ее найти. Спасибо!

Ответы [ 2 ]

1 голос
/ 10 июня 2019

Попробуйте это

with wt1
as(
select distinct t2.col2 as col1,t2.col2
from tst t2
union all
select t1.col1,t1.col2
from tst t1
)
select col1
from wt1
order by col2,col1;

Вывод:

COL1
A
item1
item2
B
item3
item4
C
item5
item6
0 голосов
/ 10 июня 2019

Если я правильно понял, вам нужны все элементы плюс отдельные категории.
Результат должен быть упорядочен сначала по категории, а затем по элементу.

Вы можете попробовать что-то вроде этого:

SELECT ColumnAB
FROM   (
        SELECT columnB AS Category
               columnA AS ColumnAB,
               2       AS ColumnType
        FROM   my_table
        UNION ALL
        SELECT DISTINCT
               columnB AS Category
               columnB AS ColumnAB,
               1       AS ColumnType
        FROM   my_table
        ORDER BY Category,ColumnType,ColumnAB
       )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...