我正在学习Postgres。当我不写下其他陈述时,我的表什么也不返回。我试图在boolean为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
答案 0 :(得分:0)
一个简单的带有适当括号的AND/ OR
很明显,并且比CASE
表达式更好,可以检查JOIN的WHERE
子句/ ON
部分中的条件组合
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
);