使用其他两个表(如连接条件)更新表?

净空值

我有一个三表如下

表H

H_ID   FLG
1    -
2    -
3    -
4    HERE
5    NO

表C

C_ID  STS
1      1345
2      1345
3      1346
4      1346
5      1345
6      1348
7      1223

表S

STS_ID    VALUE
1345       START
1346       END
1348       WILD
1223       MID
1111       ON-GOING
2345       THERE

我想更新列中的table H数据valuetable S

我写了如下查询

UPDATE table H h
SET FLG = (SELECT s.VALUE 
           FROM table C c 
             JOIN table S s 
               ON s.STS_ID = c.C_ID      
           WHERE c.C_ID = h.H_ID)     
WHERE h.H_ID IN (1,2,3);

但它不起作用。

戈登·利诺夫

我认为子查询SC子查询中的连接使用了错误的列:

UPDATE table H h
SET FLG = (SELECT s.VALUE
           FROM table C c JOIN
                table S s
                ON s.STS_ID = c.STS
           WHERE c.C_ID = h.H_ID
          )
WHERE h.H_ID IN (1, 2, 3);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章