SQL Server查询-连接条件

问题描述 投票:0回答:2

我尝试根据条件选择日期并使用以下查询将其填充到

dat_Transformed
中。查询已执行,但
dat_Transformed
未正确填充。

如有任何改进查询的建议,我们将不胜感激。

SELECT
    dat_Transformed, 
    CASE
        WHEN EXISTS (SELECT date FROM dat_base WHERE dat_base.id= report.id) 
        THEN (SELECT date FROM dat_base WHERE dat_base .id= report.id)
        ELSE ''
    END AS dat_new
FROM report;
sql sql-server join select
2个回答
0
投票

可以进行左连接,并且在 null 的情况下合并将抛出空字符串

SELECT
  dat_Transformed,
dat_new = COALESCE(dat_base.date,'')
  
from report
left join dat_base on dat_base.id = report.id
;

0
投票

LEFT JOIN
应该可以帮忙解决。尝试使用以下查询。

SELECT
    r.dat_Transformed, 
    COALESCE(db.date, '') AS dat_new
FROM report r
LEFT JOIN dat_base db ON db.id = r.id;
© www.soinside.com 2019 - 2024. All rights reserved.