だから私は2つのテーブルを持っています。
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
-同じデータを持つ2つの異なるテーブルのように見えますが、実際には異なる列があります。この質問に関係のない他の列は含めませんでした
これは、検索するときに達成しようとしていることです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