将两个以上的表合并为一个

杰·拉吉

我有2个SQL,它们具有相同的结构,但返回不同的数据。我想合并这两个表,例如它从两个表中获取数据。我尝试了工会,但没有提供所需的输出。

sql1:

    select 
    distinct Job,
    case job_status 
        when 'B' then 'GREEN'
        when 'E' then 'RED'
    end as 'M_Job_Status'
 from 
    job_scheduler 
where 
    convert (varchar,job_run_date,101) = '{0}' 
    and job_type in ('Morning_Jobs')

返回:

Job         |M_Job_Status|
------------------------
job1        | green     |
job2        | green     |

sql2:

 select 
    distinct Job,
    case job_status 
        when 'B' then 'GREEN'
        when 'E' then 'RED'
    end as 'E_Job_Status'
 from 
    job_scheduler 
where 
    convert (varchar,job_run_date,101) = '{0}' 
    and job_type in ('Evening_Jobs')

返回:

Job         |E_Job_Status|
------------------------
job1        | green     |
job2        | green     |

我希望结果是:

 Job        |M_Job_Status|E_Job_Status|
----------------------------------------
job1        | green      | green
job2        | green      | green 

我尝试了Union,但是显示了状态列,一个在另一个的下面,我希望它可以并排显示。

蒂姆·比格莱森(Tim Biegeleisen)

尝试将两个查询中的每一个都包装在CTE中,然后将它们结合在一起:

WITH cte1 AS ( sql1 ),
cte2 AS ( sql2 )

SELECT
    t1.Job,
    t1.M_Job_Status,
    t2.E_Job_Status
FROM cte1 t1
LEFT JOIN cte2 t2
    ON t1.Job = t2.Job

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章