postgresql - 如何不在 Postgres 中运行 else 语句?
问题描述
我正在学习 Postgres。当我不写下 else 语句时,我的表什么也没有返回。当布尔值为假时,我试图呈现所有用户。
SELECT * FROM users u
JOIN posts p
ON u.id = p.author_id
AND CASE WHEN true // if true then render u.id = 5
THEN u.id = 5
ELSE ??? // else render all users
END
解决方案
带有适当括号的简单语句AND/ OR
比表达式更清楚,并且比CASE
检查WHERE
子句/ON
部分 JOIN中的条件组合的表达式更好
SELECT * FROM users u
JOIN posts p
ON u.id = p.author_id AND
(
( some_condition = true AND u.id = 5 )
OR some_condition = false
);
推荐阅读
- reactjs - React 开发工具不显示组件名称或状态变量名称
- python - 如何制作一个填充的空心正方形,在Python中水平放置
- vba - 如何编码按钮以隐藏一系列单元格?
- tensorflow - 如何拟合张量流数据集
- python - 如何让 selenium 识别带有撇号的搜索
- c# - 从包含字符串和数字混合的文本文件中读取双数字
- python - BERT如何在windows anaconda中运行预训练模型
- javascript - 如何配置 webpack 和 Typescript 以排除解析特定的仅键入包?
- python - 如何使用 Spark SQL 识别 hive 表中的分区列
- swift - 使用变量进行类型转换