Zitat:
Zitat von M-Cha
OK. Wie genau mache ich den einen Join in diesem Fall.
Pro Datum sollen dann die Häuser und Autos angezeigt werden. Nicht immer gibt es aber Häuser oder Autos zu einem Datum. Vor allem zähle ich ja pro Tabelle erstmal die Autos und Häuser.
So einen Join habe ich noch nie gemacht.
|
Du hast ungefähr das:
Code:
test=*# select * from haeuser ;
datum
------------
2014-07-03
2014-07-02
2014-07-02
2014-07-02
2014-07-02
2014-07-02
2014-07-01
2014-07-01
(8 rows)
Time: 0,176 ms
test=*# select * from autos ;
datum
------------
2014-07-01
2014-07-01
2014-07-02
2014-07-03
2014-07-03
2014-07-03
(6 rows)
und willst das
Code:
test=*# select foo.datum, a.count as auto, h.count as haus from (select datum from autos union select datum from haeuser) foo left join (select datum, count(*) from autos group by datum) a on (foo.datum=a.datum) left join (select datum, count(*) from haeuser group by datum) h on foo.datum=h.datum order by foo.datum;
datum | auto | haus
------------+------+------
2014-07-01 | 2 | 2
2014-07-02 | 1 | 5
2014-07-03 | 3 | 1
(3 rows)
Oder?