我需要通过引用另一个SELECT中的列值和该列的一些常量来更新一个表。我想在checkA为NULL且ID与TABLEB列ID匹配时更新TABLEA checkA和checkB列,并在TABLEA ID = 3时更新
上面的SQL没有从TABLEA返回ID为1和3的行
TABLEA
ID NAME STATE checkA checkA
1 John VA null null
2 SEAN MD null null
3 CARL SD null null
TABLEB
ID ROLL_ID
1 01
UPDATE TABLEA tb SET checkA = 'modified' ,checkA = 'modified' where checkA is NULL AND
ID in
(select DISTINCT ab.ID fRom TABLEB ab where ab.ROLL_ID IN
( 01 ) )
UNION
select DISTINCT ID from TABLEA tbl WHERE ID in (3) AND where checkA is NULL
1条答案
按热度按时间5us2dqdw1#
如果您修复了语法(和其他)错误,则更新将起作用。
样本数据:
更新,已修复:
结果:
请注意,表中不能有两个同名的列(这是示例数据和代码所建议的)。