MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 2463|回复: 4
打印 上一主题 下一主题

[命令及语法] 三表联合查询,求解(急)

[复制链接]
跳转到指定楼层
1#
发表于 2016-7-22 20:27:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想请教个问题:有两个数据库d1和d2,d1里有一个数据表table1,有两个字段,id,name。d2里有两个表:table2和table3,table2有三个字段,rid,ip,time。table3有两个字段rid,time。其中table1.id=table2.rid=table3.rid,三个是一样的,关联的。table2.time和table3.time是不一样的 。我想查询table2数据表中的三个字段,其中限定条件是table2.time>table3.time,同时联合查询出table1里的name,如果哪位大侠知道告诉我下,谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享淘帖 顶 踩
2#
 楼主| 发表于 2016-7-22 20:48:55 | 只看该作者
不知道说清楚没:
select rid,ip,time from d2.table2;
+------------+----------------+-----------------------------+
| rid        |        ip      |             time            |
+------------+----------------+-----------------------------+
| 4294000000 | 101.201.17.57  |          1469184038         |
+------------+----------------+-----------------------------+
| 4294000001 | 101.201.17.100 |          1469184066         |  
+------------+----------------+-----------------------------+
| 4294000002 | 101.201.17.100 |          1469184022         |  
+------------+----------------+-----------------------------+
select rid,time from d2.table3;
+------------+-----------------------------+
| rid        |             time            |
+------------+-----------------------------+
| 4294000000 |          1469184044         |   
+------------+----------------+------------+
| 4294000000 |          1469184033         |  
+------------+----------------+------------+
| 4294000001 |          1469184055         |
+------------+----------------+------------+
| 4294000001 |          1469184088         |
+------------+----------------+------------+
| 4294000002 |          1469184035         |
+------------+----------------+------------+
select id,name from d1.table1;
+------------+-----------------------------+
| id         |             name            |
+------------+-----------------------------+
| 4294000000 |            lucy             |
+------------+----------------+------------+
| 4294000001 |            mary             |
+------------+----------------+------------+
我想得到的结果是:table2.time>table3.time,time是时间戳,同时将table1里的name也捎上。
想要的结果是:
+------------+----------------+-----------------------------+----------------
| rid        |        ip      |             time            |       name     |
+------------+----------------+-----------------------------+----------------
| 4294000000 | 101.201.17.57  |          1469184038         |   lucy         |
+------------+----------------+-----------------------------+----------------
| 4294000001 | 101.201.17.100 |          1469184066         |  mary          |
+------------+----------------+-----------------------------+----------------
3#
 楼主| 发表于 2016-7-22 21:37:10 | 只看该作者
忘了说了,对于账号来说,只取最近的时间,就是加上limit
4#
 楼主| 发表于 2016-7-23 13:57:38 | 只看该作者
select a.role_id,a.user_ip,c.sm_name from tbllog_login a,tbllog_quit b,csdb.tbl_Avatar c  where a.role_id = b.role_id=c.id and max(b.login_time) <(select max(happend_time) from tbllog_login);
谁能帮我修正一下这个语句,谢谢
5#
发表于 2016-8-1 11:27:00 | 只看该作者
select t2.rid,t2.ip,t2.time,t1.name
from d2.table2 t2 inner join d2.table3 on t2.rid=t3.rid
inner join d1.table1 t1 on t2.rid=t1.id
where t2.time>t3.time;

参考自:
mysql join语法 http://www.data.5helpyou.com/article209.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-4-26 12:28 , Processed in 0.071352 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表