首页 新闻 会员 周边 捐助

update 更新已经查询好的数据问题

0
悬赏园豆:30 [已解决问题] 解决于 2016-09-07 14:17
UPDATE (SELECT * ,
ROW_NUMBER() OVER ( ORDER BY PrintDate ) AS iRows
FROM [ReceiptBill]
WHERE [Stage] <> '报检') t SET t.OverdueType ='y' WHERE iRows=1

 

update后面那段select语句是可以查询到数据的。但是一起运行就会报错求大神解决下。

我想和这个世界谈谈的主页 我想和这个世界谈谈 | 初学一级 | 园豆:61
提问于:2016-09-07 13:51
< >
分享
最佳答案
1

 用cte吧

;with cte as 
(
SELECT * ,
ROW_NUMBER() OVER ( ORDER BY PrintDate ) AS iRows
FROM [ReceiptBill]
WHERE [Stage] <> '报检'
)
UPDATE cte 
SET OverdueType ='y' 
WHERE iRows=1

 

收获园豆:30
悦光阴 | 老鸟四级 |园豆:2251 | 2016-09-07 14:04

 谢谢解答,完美解决。能否稍微说下这个cte是什么意思 看不太懂呢。

我想和这个世界谈谈 | 园豆:61 (初学一级) | 2016-09-07 14:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册