gpt4 book ai didi

sql - 根据临时列加入

转载 作者:行者123 更新时间:2023-12-03 02:09:08 26 4
gpt4 key购买 nike

我有两个表需要连接,但唯一相似的列有多余的数据需要删除。我只想修改这些表,但我只有读取权限。因此,我从表中删除不需要的文本并添加临时列,但我无法加入其中。我收到错误:

Invalid column name 'TempJoin'

SELECT
CASE WHEN CHARINDEX('- ExtraText',a.Column1)>0 THEN LEFT(a.Column1, (CHARINDEX('- ExtraText', a.Column1))-1)
WHEN CHARINDEX('- ExtraText',a.Column1)=0 THEN a.Column1
END AS TempJoin
,a.Column1
,b.Column2
FROM Table1 as a
LEFT JOIN Table2 as b WITH(NOLOCK) ON b.Column2=TempJoin

最佳答案

最简单的方法是将其包装在 CTE 中。另外,be careful using NOLOCK ,除非你有明确的理由。

WITH cte AS (
SELECT
CASE WHEN CHARINDEX('- ExtraText',a.Column1) > 0
THEN LEFT(a.Column1, (CHARINDEX('- ExtraText', a.Column1))-1)
WHEN CHARINDEX('- ExtraText',a.Column1) = 0
THEN a.Column1
END AS TempJoin,
a.Column1
FROM Table1 AS a
)

SELECT *
FROM cte
LEFT JOIN Table2 AS b WITH(NOLOCK) ON b.Column2 = TempJoin;

关于sql - 根据临时列加入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45716149/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com