我有posts
表。每個帖子都有topic_id
字段,該字段對應於topics
表中適當的id
字段。RIGHT JOIN不返回所有結果
我需要排序topics
date_created
字段在posts
表中。
此外,每個主題都有forum_id
,我需要僅顯示和排序主題與特定forum_id
。
我想是這樣的:
SELECT
topics.id, topics.title
FROM
topics RIGHT JOIN posts ON topics.id = posts.topic_id
WHERE
topics.forum_id = 1
ORDER BY
posts.date_created DESC
但並非每個主題都有與之相關聯的帖子。那些沒有任何職位的人不會被退回。
如何解決?
無法篩選左側表在右連接在where子句因爲當過濾器被應用缺失的行會已經取代使用空行,空不等於任何值。結果是內連接。將有關'topics'表的過濾器移動到ON子句中。 –
將篩選器帶回到哪裏 - 只有那些應用於外部表的請求才需要在ON子句中聲明。 –