Update OP_AD_Statistics Set StaADSource='xxxx', StaClickNum= 2 Where StaID =(Select StaID from OP_AD_Statistics Where StaADSource='xxxx' order by StaID )
这样会报错 除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效,怎么改呢
------解决方案--------------------
你得把你的排序拿到外面或者加上top之类的。
------解决方案--------------------
- SQL code
;With cte_update As (/*n 控制要更新的行数*/Select Top (n) * From OP_AD_Statistics Where StaADSource='xxxx' Order by StaID)update cte_update Set StaADSource = 'xxxx' , StaClickNum = 2
------解决方案--------------------
Update OP_AD_Statistics a Set StaADSource='xxxx', StaClickNum= 2 Where dt= (Select max(dt) from OP_AD_Statistics Where StaADSource='xxxx' and a.StaID =StaID )
你要按什么来算最后一条。这个表的最后一条?以上是StaID 相同,dt最大的