Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql postgres的右连接返回意外结果_Postgresql - Fatal编程技术网

Postgresql postgres的右连接返回意外结果

Postgresql postgres的右连接返回意外结果,postgresql,Postgresql,我有以下疑问 select date, count(t.p_id) from someTable t right join generate_series('2019-09-01'::timestamp, least(current_date, '2019-09-05'), interval '1 day') AS g(date) on t.someDate @> date w

我有以下疑问

select date, count(t.p_id)
                   from someTable t
                   right join generate_series('2019-09-01'::timestamp, least(current_date, '2019-09-05'), interval '1 day') AS g(date) on t.someDate @> date
                   where t.s_id = 42 and t.skl_id = 5
                   group by date
                   order by date
如果t.s_id或t.skl_id没有任何内容,我将返回空结果。 但只要我有权加入
generate_series…
我希望得到5分。
我遗漏了什么?

如果在
WHERE
子句中有一个条件,则在执行联接后(逻辑上)对其进行计算。因此,这样的
WHERE
子句可以从连接中删除所有行


如果您希望在左侧显示
NULL
值,则必须删除
WHERE
子句,并将其移动到
on
子句。

对于sql相关的问题,请包含一个最小的数据示例。嗯,我认为WHERE子句不会对其产生影响。谢谢或者使用嵌套查询,这可能更具声明性。