sqlserver 更新语句
UPDATE table_1 SET code = 333
WHERE id, name in
( select top 2 id,name from table_2 )
请问下 这个语句在sqlserver中需要怎样修改
追问:top 2 是要提取子查询的前两条 你下面写的语句 不能保证id , name 是在同一条记录里面吧谢谢您的回答,但是现在还有有个问题 就是 我之前的语句是不需要排序的 只是取最上面的两行 如果要是按您写的 更新的结果可能和我要的结果有一些偏差 这个您有办法结果么
答案:UPDATE table_1 SET code = 333
WHERE exists
( select top 2 id,name from table_2
where table_1.id=id and table_1.name=name order by id)
不知道你的top的用意,如果确实只提取子查询的前两条估计要麻烦点写了
UPDATE table_1 SET code = 333
WHERE id in ( select top 2 id from table_2 order by id)
and name in ( select top 2 name from table_2 order by id)
其他:UPDATE table_1 SET code = 333
WHERE id in ( select top 2 id,name from table_2 ) and name in ( select top 2 id,name from table_2 )
上一个:sqlserver2008中资源等待。
下一个:sqlserver 2008中的表,id列是不重复的主键,除id列,其他列出现重复数据,怎么去除重复???