【发布时间】:2018-01-05 12:44:57
【问题描述】:
我没有发现我的问题。我有 2 个表,例如:range(pk, min, max) 和 user(name, value),我将进行内部连接和分组以拥有:对于每个范围、每个用户、值的总和(即使没有结果)。喜欢:
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
其实我的查询是:
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;
有没有人有想法在没有结果时插入 0?
编辑:我的范围永远不会为 NULL,当他不在范围内时,我只会添加用户名。
【问题讨论】:
-
试试
LEFT JOIN看看会发生什么。 -
你想要一个外部联接而不是内部联接
-
外连接加我缺失的范围,但不是所有的用户名都加0。我试试Case ...END
标签: sql postgresql