我正在学习Postgres。当我没有写下else语句时,我的表没有返回任何内容。当布尔值为false时,我正在尝试渲染所有用户。
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
);