postgresql - postgres的右连接返回意外结果
问题描述
我有以下查询
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
子句。
推荐阅读
- php - 在 Laravel 7 中找不到路线
- php - 我无法在服务器上托管我的 Laravel 应用程序?
- java - Java webdrivermanager 没有在 jenkins ubuntu 中打开浏览器
- javascript - localhost 与生产版本不同的 css
- firebase - 无法识别的 Firebase 项目。我希望这是一个演示项目
- c# - 更改控件模板中文本块的文本
- typescript - 从另一个地图获取地图数据 - Ionic 4,Firestore
- terraform - 使用 terraform 覆盖已删除的 aws_secretsmanager_secret 资源
- html - bg 颜色的 CSS 标头有问题
- python - Jupyter notebook 无法启动(ImportError: DLL load failed while importing)