您好我想在table1中通过inter(一些已存在的值)将值更改为某个数字然后我想要使用相同的select语句中的out bout更新table2中的另一个值( 一些存在的价值)。我尝试这样的事情:
update decrees set laststatusid = 4
where decreeid = ALL (Num1,Num2,....Num100);
UPDATE REQUESTS SET LASTSTATUSID = 22
WHERE REQUESTID = ALL ((
SELECT REQUESTID
FROM DECREES
WHERE DECREEID = ALL(Num1,Num2,....Num100));
它适用于一个数字但是当我插入多个数字时它没有用 您的快速回复将不胜感激 感谢。
答案 0 :(得分:0)
我认为当您使用= ALL
时,您的问题正在使用IN
。
除非我不理解您的问题,否则您尝试一次更新多行,但您的decreeID是单值,它永远不会等于整套值,这是您尝试使用= ALL
实现的。
另一方面,它解释了为什么它可以使用单个值。
示例:
UPDATE decrees
SET laststatusid = 4
WHERE decreeid IN(Num1, Num2, .... Num100);
UPDATE REQUESTS
SET LASTSTATUSID = 22
WHERE REQUESTID IN (SELECT REQUESTID
FROM DECREES
WHERE DECREEID IN(Num1, Num2, .... Num100));