簡體   English   中英

返回所有父表行,但對於與WHERE子句與MYSQL不匹配的子表行返回null

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM