我有两个表,我从两个表中获取值,情况是第一个表总是包含记录,但第二个表可能或不可能。
这是表格
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
请帮助
答案 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