0

発言があります

update Clients
set StatusID= 4
from (select c.clientid
from Clients c
where CategCode = 'CH' and StatusID in (1,2,6) and DATEDIFF(YEAR,dob,GETDATE())>5)

それは私にエラーを投げます

Msg 102, Level 15, State 1, Line 5
Incorrect syntax near ')'.

このエラーの原因がわかりましたか?

このステートメントを使用しようとしましたが、すべてのクライアントのステータスが 4 に設定されました

update Clients
set StatusID= 4
WHERE EXISTS( 
select clientid,DOB,DATEDIFF(YEAR,dob,GETDATE())
from Clients 
where CategCode = 'CH' and StatusID in (1,2,6) and DATEDIFF(YEAR,dob,GETDATE())>5
4

1 に答える 1

1

これを試して

update c
set c.StatusID= 4
from Clients c
where CategCode = 'CH' and StatusID in (1,2,6) 
and DATEDIFF(YEAR,dob,GETDATE())>5

2番目のクエリは

update c
set StatusID= 4
from Clients c
WHERE EXISTS( 
select 1
from Clients x
where CategCode = 'CH' and StatusID in (1,2,6)  and x.clientid = c.clientid)
于 2013-03-17T22:16:35.663 に答える