我有一个三表如下
表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
数据value
table 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);
但它不起作用。
我认为子查询上S
和C
子查询中的连接使用了错误的列:
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] 删除。
我来说两句