繁体   English   中英

如何从单个列中的多个列中获取所有结果 - SQL?

[英]How to get all results from multiple columns in a single column - SQL?

我想将我的两个专栏中的所有结果放在一起。

我有一个表my_table像:

colA    colB
a       e 
b       e 
c       f
d       g

意向 output:

id      letter
1       a       
2       b       
3       c       
4       d       
5       e 
6       f 
7       g

我知道这可以通过UNION实现,但我对编号的工作方式感到有些困惑。 我也很擅长没有UNION的解决方案。 output 中的letter顺序也无关紧要,但每个值都需要一个唯一的 ID。

我尝试了什么:

SELECT 
     row_number() OVER (ORDER BY letter) AS id,
     colA AS letter
FROM my_table
UNION
SELECT
     row_number() OVER (ORDER BY letter) AS id,
     colB AS letter
FROM my_table
SELECT row_number() OVER (ORDER BY letter) AS id, *
FROM (
     SELECT DISTINCT colA AS letter
     FROM my_table
     UNION
     SELECT DISTINCT colB AS letter
     FROM my_table
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM