所以我有两张桌子,看起来像这样;
table_a table_b
reg |rm |date reg |rm |date
========+=======+========== ========+=======+==========
1 |1 |2013-01-01 2 |2 |2013-01-01
1 |1 |2013-01-02 2 |2 |2013-01-05
3 |2 |2013-01-08 3 |2 |2013-01-08
-我知道它看起来像两个具有相同数据的不同表,但实际上它具有不同的列,我只是没有包含与此问题无关的任何其他列
这就是我在搜索时想要实现的目标rm=2
;
result
reg |date
========+==========
3 |2013-01-08
2 |2013-01-01
当我尝试使用时join
,没有出现,当我尝试使用它时说不能为空,因为我用来获取最早的日期。(当我删除功能时它没有出错,但它会显示每个日期 - 我只需要最早的日期和)reg 2
table_b
union all
reg
min(date)
min
order by date desc
这是我实现这一目标的查询;
SELECT b.reg, min(b.date) as ddate
FROM table_a a
join table_b b on (o.reg=a.reg)
where b.rm = '2'
order by ddate desc
还有这个
select reg,min(date) as ddate from table_a where rm = '2'
union all
select reg,min(date) as ddate from table_b where rm = '2'
order by ddate desc