【发布时间】:2012-11-29 15:44:46
【问题描述】:
我正在尝试用每行唯一的值填充其 InterfaceID (INT) 列中缺少值的任何行。
我正在尝试执行此查询:
UPDATE prices SET interfaceID = (SELECT ISNULL(MAX(interfaceID),0) + 1 FROM prices)
WHERE interfaceID IS null
我希望 (SELECT ISNULL(MAX(interfaceID),0) + 1 FROM prices) 将针对每一行进行评估,但它只执行一次,因此我所有受影响的行都获得相同的值而不是不同的值。
这可以在单个查询中完成吗?
【问题讨论】:
标签: sql sql-server sql-server-2008