我有一个查询,我正在加入他们问题答案的表格。两个表都有一个外键,该外键链接回用户表以确定谁询问了谁以及谁回答了问题。
我的问题是,如何修改以下查询以生成product_question
。userID
和product_answer
。userID
显示来自{{1}的用户名表而不仅仅是ID?
User
答案 0 :(得分: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