求一个SQL语句
有两个表,一个用户表,里面有用户名,最后登陆时间等字段,一个消息表,有接收人,发送时间等字段,现在A给B发消息,在发送的页面有一个listbox设置时效天数,假如B登陆时超过A所设置的天数,消息就删除,不知道这个删除语句如何写,主要是时间的判断。
现在在登陆button下更新数据库取得了最后登陆时间,string sql = "update 用户信息表 set 最后登陆时间 = ' " + System.DateTime.Now.ToString( "yyyy-MM-dd HH:mm:ss ") + " 'where 用户名 = ' " + Session[ "name "] + " ' ";
L_database.execsql(sql);
接下来怎么办呢?
------解决方案--------------------delete 消息表 where id in
(
select a.id from 消息表 a inner join 用户表 b on a.用户名=b.用户名 and DATEADD(day, a.设置的天数,a.发送时间)> b.登陆时间
)
id 是关键字
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
最新版本:20070212
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------string sql1 = "delete from 消息表 where id in (select a.id from 消息表 a inner join 用户信息表 b on a.接收人=b.用户名 and DATEADD(day, a.时效,a.发送时间)> b.最后登陆时间) ";