【问题标题】:两列中 UNION 的结果
【发布时间】:2023-08-09 05:54:01
【问题描述】:

我正在从两个表中查询名称:

with data_1 as (
select names from tbl1),

data_2 as (
select names from tbl2)

select * from data_1
union
select * from data_2

我在一个列中得到了我想要的结果。

现在我想知道是否可以在两个不同的列中获取结果,例如:"names_from_data1", "names_from_data2"

或者用另一种方式来识别每个名字的来源:data_1data_2

【问题讨论】:

    标签: sql presto


    【解决方案1】:

    您可以添加硬编码列来指示来源:

    with data_1 as (
    select names, 'tbl1' as source from tbl1),
    
    data_2 as (
    select names, 'tbl2' as source from tbl2)
    
    select * from data_1
    union
    select * from data_2
    

    【讨论】: