1
我有兩個表。我需要用'1'和'0'更新一個表中的一列。 E_ID在兩列中匹配的'1'和E_ID在第二個表中不存在的'0'。
注意:一個表具有所有E_ID,第二個表具有E_ID的子集。兩個故事的E_ID列都不包含NULL。更新案例存在條款
下面的查詢只做工作的第一部分(更新爲'1')。
UPDATE [MIDASFactory].[dbo].[Employees]
SET [Changed To Residential] = 1
FROM ##formerEmployees t
INNER JOIN [dbo].[Employees] (NOLOCK)
ON t.e_ID = E_ID
我修改了上面的查詢,也用上面描述的'1'和'0'更新。
但它無法正常工作,因爲它將所有行更新爲下面查詢中select子句返回的第一個值 ,其中E_ID在兩個表中都匹配。
UPDATE [dbo].[Employees]
SET [Current Employee] =
CASE WHEN EXISTS (SELECT * FROM [dbo].[Employees] P (NOLOCK)
LEFT OUTER JOIN ##formerEmployees t (NOLOCK) ON P.E_ID=t.e_ID)
THEN 1
ELSE 0
END
FROM ##formerEmployees t
感謝。工作完美。 – enigma6205