In response to A. Kretschmer :
> test=*# select foo.user_name, foo.log_type, sum(case when log_type_fk is
> not null then 1 else 0 end) from (select user_id, user_name,
> log_type_id, log_type from users cross join log_type) foo full join log
> on ((foo.user_id, foo.log_type_id)=(log.user_fk, log.log_type_fk)) group
> by 1,2 order by 1,2;
> user_name | log_type | sum
> -----------+----------+-----
> user1 | type1 | 1
> user1 | type2 | 0
> user2 | type1 | 0
> user2 | type2 | 1
> (4 rows)
Update:
select foo.user_name, foo.log_type, count(log_type_fk) ...
--
Andreas Kretschmer
Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net