1
我有一个“临时”从招生的java运输填充表。我正在做的是将“临时”表与我在具有选择查询的CTE中填充的值进行比较。接下来我需要做的是更新两个不同的表格。这里是我的“临时”表和CTE的比较查询:比较了“临时”与值表CTE,然后更新两个不同的表
WITH CTE AS
(
SELECT S.SYS_USER_NAME, PG.PAX_ID
FROM component.SYS_USER S
INNER JOIN component.PAX_GROUP PG
ON S.PAX_ID = PG.PAX_ID
WHERE (ROLE_CODE = 'AC' and THRU_DATE is null) or
(ROLE_CODE = 'DLRP' and THRU_DATE is null)
)
SELECT * FROM CTE
INNER JOIN component.TEMP_CONTROL_NUM
ON TEMP_CONTROL_NUM.CONTROL_NUM = CTE.SYS_USER_NAME
我想下一步要做的就是更新两个不同的表。一个我需要设置状态列为非活动状态,另一个需要设置直通日期。
我遇到的问题是用SELECT写一个UPDATE。我有类似的东西:
UPDATE component.SYS_USER SET STATUS = 'I'
WHERE SYS_USER_NAME =
(SELECT * FROM CTE INNER JOIN component.TEMP_CONTROL_NUM ON
TEMP_CONTROL_NUM = CTE.SYS_USER_NAME)
这是正确的吗?我意识到我只是试图更新一个表,但我想如果我有一个表更新,我可以找出其他。它似乎不是。 预先感谢您。
那么它是mySql还是Sql-Server?不能同时... –