求一SQL语句。正确马上给分。谢谢!

arfeng75 2006-09-13 03:58:09
MySQL版本为:3.23.58,不支持子查寻,所以请不要使用子查询。

表A:
id name
------------------------
1 小王
2 小李
3 小强


表B:
a_id login_date
------------------------
1 2006-09-08
1 2006-09-01
2 2006-08-01
2 2006-07-22
3 2006-03-05

我想得到的结果是:查询从今天算起,10天内没有登录的用户。
结果如下:
2 小李
3 小强
...全文
201 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
StupidYu 2006-09-16
  • 打赏
  • 举报
回复
现在已经出MySQL 5.0了升级下你的MySQL吧,升级也不是很难的事了
ttzhangzhiwei 2006-09-15
  • 打赏
  • 举报
回复
select a.name,b.a_id from a inner join b on a.id=b.a_id where date()-login_date>10
loveflea 2006-09-14
  • 打赏
  • 举报
回复
select a.id,a.name from a left join b on a.id=b.a_id group by a.id having to_days(now())-to_days(max(b.login_date))>10
a13751825503 2006-09-14
  • 打赏
  • 举报
回复
select id name from a left join b on a.id=b.a_id where TO_DAYS(NOW()) - TO_DAYS(login_date) > 10;
不知道行不行...
arfeng75 2006-09-14
  • 打赏
  • 举报
回复
不用子查询是解决不了了。看来要另想办法了。哎~~
lip009 2006-09-13
  • 打赏
  • 举报
回复
select a.id,a.name,bb.dt from a right join (select *from (select max(login_date) as dt,a_id from b group by a_id) as c where c.dt<'2006-9-3') as bb on a.id=bb.a_id
arfeng75 2006-09-13
  • 打赏
  • 举报
回复
谢谢 kk19840210(飞天小虫) !不过不能使用子查询。请看清楚。
kk19840210 2006-09-13
  • 打赏
  • 举报
回复
select id,name from tableA where id in (select distinct a_id as id from tableB where datediff(day,login_date,getdate())>10)

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧