日期:2014-05-18  浏览次数:20498 次

如何更新sql Select查询结果某一列的值
通过
SQL code
select * from TimeRecords a where a.Sign_DateTime =(select min(b.Sign_DateTime) from TimeRecords b 
where a.Card_ID=b.Card_ID and DateDiff(Mi,a.Sign_DateTime,b.Sign_DateTime)<=0 and DateDiff(Mi,a.Sign_DateTime,b.Sign_DateTime)>=-5)
查询到满足参数要求的记录,需要对这些记录的一个字段更新(Records_State 这是为2)如何实现?

------解决方案--------------------
那再写一句update语句啊
update timerecords set Records_State=2 
where 主键 in( select 主键 from TimeRecords a where a.Sign_DateTime =(select min(b.Sign_DateTime) from TimeRecords b 
where a.Card_ID=b.Card_ID and DateDiff(Mi,a.Sign_DateTime,b.Sign_DateTime)<=0 and DateDiff(Mi,a.Sign_DateTime,b.Sign_DateTime)>=-5)
)
探讨
引用:

select Records_State=2,其它的字段...


你的方法只是显示的为Records_State=2 并没有真正更新表内字段值