SQL Server 在SELECT语句中创建LEFT JOIN的同时创建新列

3ks5zfa0  于 2023-02-03  发布在  其他
关注(0)|答案(1)|浏览(201)

我试图在SQL Server中创建一个表,该表将多个表与所需信息进行左连接。我们将它们命名为t1、t2、t3。
其中一张table,我想在t3中创建一个新列(t3.text2)基于t3中的另一列。我通过运行一个查询来创建一个新的t3#,从而实现了这一点,但效率很低temptable,方法是选择所需的信息,然后从中进行选择,但我认为有更好的方法可以使用带有CASE WHEN的SELECT子查询在整体查询,遗憾的是我不能让它工作,并欢迎任何建议...

SELECT 
    t1.location, t2.name, t3.text1, t3.text2 
FROM 
    t1
LEFT JOIN 
    t2 ON t1.a = t2.a
LEFT JOIN 
    t3 ON t2.b = t3.b
50few1ms

50few1ms1#

SELECT t1.location, t2.name, t3.text1, 
    CASE 
    WHEN t3.some_column = some_value THEN new_value 
    ELSE other_new_value 
    END as text2 

FROM t1
LEFT JOIN t2 ON t1.a = t2.a
LEFT JOIN t3 ON t2.b = t3.b

相关问题