SQL2000数据库里记录比较后更新的问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 06:16:33
例子如下:
ID 名称 规格 价格 数量
1 AAA 25 42 15
2 AAA 25 35 0
3 AAA 25 36 0
4 DDD 40 12.2 200
5 DDD 40 13.2 0

如何将 以上同名称且同规格的比较后将数量字段的值更新为同类产品中数量最大的值。更新后的结果如下:(查询分析器里执行SQL后的结果)
ID 名称 规格 价格 数量
1 AAA 25 42 15
2 AAA 25 35 15
3 AAA 25 36 15
4 DDD 40 12.2 200
5 DDD 40 13.2 200

试了下,没有办法一个语句更新,只能有存储过程
先分组找出名称和规格,循环,将名称和规格传到下面到语句中
update table_name
set 数量 =
(select c.数量 from
(select 名称 ,规格 ,max(数量) 数量 from table_name b group by b.名称 ,b.规格 ) c
where c.名称 = @name and c.规格 = @tyep
)
where 名称 = @name
and 规格 = @type

看看有高手能用一个语句搞定不
个人认为好想不太可能

ddd