Sql 如何执行此简单的条件更新?

Sql 如何执行此简单的条件更新?,sql,sql-server-2000,Sql,Sql Server 2000,我有一个SQL 2000服务器,带有一个数据库(ITinventory)和一个表(也称为ITinventory)。我想创建一个查询,查看字段“Status”,如果状态为“disposed”,那么我想将“location”字段设置为“disposed” UPDATE ITInventory SET Location = 'disposed' WHERE Status = 'disposed' 这条SQL正在做出各种假设,否则在OP中就没有阐明。试试这个: update ITinventory s

我有一个SQL 2000服务器,带有一个数据库(ITinventory)和一个表(也称为ITinventory)。我想创建一个查询,查看字段“Status”,如果状态为“disposed”,那么我想将“location”字段设置为“disposed”

UPDATE ITInventory SET Location = 'disposed' WHERE Status = 'disposed'
这条SQL正在做出各种假设,否则在OP中就没有阐明。

试试这个:

update ITinventory
set location='disposed'
where status ='disposed'
UPDATE ITInventory SET Location = 'disposed' 
WHERE Status = 'disposed' AND Location != 'disposed'

桌子的结构是什么?你试过什么?什么不起作用?你能发布你的SQL吗?过度设计,不需要这样做。谁告诉过你位置和状态是相关的?我不同意,海报表明他正在将位置列的值设置为与状态列相同的值,其中状态列具有特定的值。这个查询减少了查询中的自由文本量,同时迫使运行它的人识别它正在执行的逻辑——这可能会让您思考更新的有效性有多高。也就是说,这只是一个快速更新的声明,我怀疑它是否真的重要!如果大多数记录都已设置为提前处置,这将节省大量时间。
UPDATE ITInventory SET Location = 'disposed' 
WHERE Status = 'disposed' AND Location != 'disposed'
update 
    ITinventory 
set 
    Location = Status 
where 
    Status = 'Disposed'