2 chenwangfeng chenwangfeng 于 2017.09.12 14:41 提问

数据库表连接查询,关联最新数据

SQL数据库有两个表:
表1:RYBH XM
1 张三
2 李四
3 王五
4 陈六
表2:RYBH DQZT SJ
1 睡觉 2017-01-01 05:00:00
2 吃饭 2017-01-02 05:00:00
3 打豆豆 2017-01-03 05:00:00
4 打豆豆 2017-01-04 05:00:00
2 睡觉 2017-01-05 05:00:00
3 吃饭 2017-01-06 05:00:00
2 打豆豆 2017-01-07 05:00:00

想要的查询结果:
RYBH XM DQZT SJ
1 张三 睡觉 2017-01-01 05:00:00
2 李四 打豆豆 2017-01-07 05:00:00
3 王五 吃饭 2017-01-06 05:00:00
4 陈六 打豆豆 2017-01-04 05:00:00

需求:表1和表2连起来查询,但是要关联表2的最新的一条数据。

4个回答

hb960429
hb960429   2017.09.12 14:52

用左外链接连起来,根据外键关联,可动态获取表二中的数据

yonghuxiaoying
yonghuxiaoying   2017.09.12 15:08

最好表二存一个表一的关联字段,要不然你怎么确认表二中的某一条到底和表一中那一条关联呢

liubo_10184653
liubo_10184653   2017.09.12 15:26

SELECT t1.*,temp2.DQZT,temp2.SJ FROM 表1 AS t1 INNER JOIN (
SELECT t2.* FROM 表2 AS t2 INNER JOIN (SELECT RYBH,MAX(SJ) AS max_sj FROM 表2 GROUP BY RYBH) AS temp ON t2.RYBH=temp.RYBH AND t2.SJ=temp.max_sj
) AS temp2 ON t1.RYBY=temp2.RYBH;
一条sql略复杂,表数据量大可以用程序分开处理。

ah770344766
ah770344766   2017.09.13 09:03

可以根据分析函数paratition by RYBH,找出最新的一条记录,然后关键查出名称就行了

Csdn user default icon
上传中...
上传图片
插入图片