当前位置:数据库 > SQLServer >>

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列,其他列出现重复数据,怎么去除重复???

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,