I've found nothing about my problem. I have 2 tables like: range(pk, min, max) and user(name, value), I'll inner join and group by to have: for every range, every user, the sum of value (even when there is no result). Like :
range   name    value
0-10    test     2
0-10    test2    8
0-10    test3    3
0-10    test4    7
0-20    test     0 ====> actualy, i don't get this line
0-20    test2    8
0-20    test3    3
0-20    test4    7
Actually my query is:
select cast(range.min AS CHARACTER VARYING) || '-' || cast(range.max AS CHARACTER VARYING)
    ,user.NAME
    ,count(*)
FROM range
INNER JOIN user ON user.value >= range.min
    AND user.value <= range.max
GROUP BY range.pk
    ,user.NAME
ORDER BY range.pk;
Does anyone have an idea to insert 0's when there is no result?
EDIT : My range is never NULL, i'll just add user name when he is not in range.
 
    