当前位置: 代码迷 >> Sql Server >> 多表查询,遍历更新数据,该怎么解决
  详细解决方案

多表查询,遍历更新数据,该怎么解决

热度:69   发布时间:2016-04-24 18:28:37.0
多表查询,遍历更新数据
有个用户表member  (id,userid,spday)
消费表shop   (id,userid,dtime)

想查询最后一次消费的时间,然后和当前时间的相差天数,然后累加到用户表的spday内。sql语句应该怎么写呀?
------解决方案--------------------
引用:
如果要过滤掉以前的时间呢?就是shop表内的dtime一般都是以后的时间,是有效期,但是也可能是今天之前的时间,这个时间就不要了。这个怎么过滤掉啊?


update a
 set a.spday=datediff(d,getdate(),b.maxdtime)
 from member a
 inner join
 (select userid,
         max(dtime) 'maxdtime' 
  from shop 
  where dtime>=cast(convert(varchar,getdate(),111)+' 00:00:00' as datetime)
  group by userid) b on a.userid=b.userid
  相关解决方案