[英]Sql return all rows from parent table where criteria match from another child of a child table
[英]Returning all parent table rows but return null for child table rows that don't match the WHERE clause with MYSQL
嗨,我在建立個人網站時遇到了問題。 該頁面是用戶的儀表板,其中包含系統上所有類的列表。 該表稱為“類”,它是“ class_reponses”的父表,該表記錄用戶是否已開始,完成或未能完成該類。 'class_responses'中有一個user_id。 我正在嘗試建立一個查詢,該查詢將列出所有類行,並且當class_reponses user_id與給定的id不匹配時僅具有空字段。
SELECT * FROM classes AS Class
LEFT JOIN class_responses AS ClassResponse
ON Class.id = ClassResponse.class_id
WHERE ClassResponse.user_id = 7
該查詢與我要進行的查詢類似,但是如果類沒有與user_id匹配的子類class_responses,則不會顯示“類”行。
將條件放在ON子句中的左連接表上。
SELECT * FROM classes AS c
LEFT JOIN class_responses AS cr
ON c.id = cr.class_id and cr.user_id = 7
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.