Chi*_*hin 1 sql t-sql sql-server
我有以下select语句.我想将ContactAssociate的值从'Bob'更新为'Jane'.是否有可能做到这一点?
SELECT TOP (1500) ContactID, ContactNotes,
ContactAssociate, ContactAppointment
FROM
tb_Contact
WHERE
(ContactAssociate = 'Bob') AND
(ContactAppointment = 0)
Run Code Online (Sandbox Code Playgroud)
使用:
UPDATE TB_CONTACT
SET contactassociate = 'Jane'
WHERE contactassociate = 'Bob'
Run Code Online (Sandbox Code Playgroud)
您提供的查询检查contactappointment为零 - 如果您想要包含该检查,则查询将是:
UPDATE TB_CONTACT
SET contactassociate = 'Jane'
WHERE contactassociate = 'Bob'
AND contactappointment = 0
Run Code Online (Sandbox Code Playgroud)
该UPDATE语句不支持该TOP关键字,因此您的更新语句将为:
UPDATE TB_CONTACT
SET contactassociate = 'Jane'
WHERE contactid IN (SELECT TOP (1500)
contactid
FROM TB_CONTACT
WHERE contactassociate = 'Bob'
AND contactappointment = 0)
Run Code Online (Sandbox Code Playgroud)
...但是这将提供随机联系 - 您应该ORDER BY在子查询中指定一个子句以获得一致的结果.
参考: