连接两个表,从两个表中选择值,第二个表没有记录

时间:2014-08-18 06:43:00

标签: mysql

我有两个表,我从两个表中获取值,情况是第一个表总是包含记录,但第二个表可能或不可能。

这是表格

TAB1
id | rank 1 | TL 2 | PL 3 | MG
TAB2
num | id | swiped_on 1 | 1 | 20-4-14 2 | 1 | 21-4-14 3 | 3 | 25-4-14

我想要的结果是,(第二张表中只有一条记录)

id | rank | swiped_on 1 | TL | 21-4-14 2 | PL | ------- 3 | MG | 25-4-14

请帮助

1 个答案:

答案 0 :(得分:1)

您可以将左连接与表格tab2中的子选择一起使用

select t.*,t1.swiped_on
from TAB1 t
left join (select id , max(swiped_on) swiped_on
          from TAB2 group by id
          ) t1
on(t.id = t1.id)

Fiddle demo

或者只是从tab2获取swiped_on的最大值

select t.*,max(t1.swiped_on) swiped_on
from TAB1 t
left join TAB2 t1
on(t.id = t1.id)
group by t.id

Fiddle demo