繁体   English   中英

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

[英]Update a table using two other tables like Join condition?

我有一个三表如下

表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 S value列的数据更新table H

我写了如下查询

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM