[英]SQL Left Join Foreign Key Both Tables
我有一個查詢,我正在加入他們問題答案的表格。 兩個表都有一個外鍵,該外鍵鏈接回用戶表以確定誰詢問了誰以及誰回答了問題。
我的問題是,如何修改以下查詢以生成product_question
。 userID
和product_answer
。 userID
顯示User
表中的用戶名,而不僅僅是ID?
SELECT `project_question`.`id` AS question_id, `project_question`.`question`, `project_question`.`userID` AS askedBy,
`project_question`.`created` AS question_created, `project_answer`.`id` AS answer_id,
`project_answer`.`answer`, `project_answer`.`userID` AS answeredBy,
`project_answer`.`accepted`, `project_answer`.`created` AS answer_created
FROM `project_question`
LEFT JOIN `project_answer`
ON `project_question`.`id` = `project_answer`.`questionID`
WHERE `project_question`.`projectID` = $args[0]
AND `project_question`.`projectPhase` = 2
您可以對同一個表和別名使用兩個連接來區分它們:
SELECT `project_question`.`id` AS question_id,
`project_question`.`question`,
q_user.`userName` AS askedBy,
`project_question`.`created` AS question_created,
`project_answer`.`id` AS answer_id,
`project_answer`.`answer`,
a_user.`userName` AS answeredBy,
`project_answer`.`accepted`,
`project_answer`.`created` AS answer_created
FROM `project_question`
LEFT JOIN `project_answer`
ON `project_question`.`id` = `project_answer`.`questionID`
INNER JOIN `User` AS q_user
ON `project_question`.`userID` = q_user.`userID`
INNER JOIN `User` AS a_user
ON `project_answer`.`userID` = a_user.`userID`
WHERE `project_question`.`projectID` = $args[0]
AND `project_question`.`projectPhase` = 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.