我需要以特定方式将两列合并为一个。
这是各列。
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
请告知,因为我感觉这个问题有一个简单的解决方法,我只是找不到。 谢谢!
答案 0 :(得分:1)
尝试一下
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
答案 1 :(得分:0)
如果我理解得很好,则需要所有项目以及不同的类别。
结果应首先按类别排序,然后按项目排序。
您可以尝试这样的事情:
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
)