我有一个SQL查询来更新记录。我使用'EXISTS'
函数,但速度非常慢。现在我想用连接更改我的查询。
UPDATE zp
SET ZP.TEST1=NULL,
ZP.TEST2=NULL,
ZP.TEST3=NULL,
ZP.TEST4=NULL,
ZP.TEST5=NULL,
ZP.TEST6=NULL,
ZP.TEST7=NULL,
ZP.TEST8=NULL,
ZP.TEST9=NULL,
ZP.TEST10=NULL,
ZP.TEST11=NULL,
ZP.TEST12=NULL,
ZP.TEST13=NULL,
ZP.TEST14=NULL,
ZP.TEST15=NULL
from TestTable ZP
WHERE NOT(
(ZP.name='I'
AND
surname='S'
OR
addr='S'
AND
ClientID IS NOT NULL)
AND EXISTS(
SELECT * FROM table2 P
WHERE P.OrgID=ZP.OrgID AND
P.CATEGORY='D'
)
)
答案 0 :(得分:0)
稍微提高效率......
EXISTS(
SELECT 1 FROM table2 P
WHERE P.OrgID=ZP.OrgID AND
P.CATEGORY='D'
即1而不是*。
但我确信这不是完整的解决方案。