[英]MySQL: Joining a joint table
我有三张桌子
问题编号| question_name
该表列出了许多问题,每个问题都有ID。
位置编号| 地点名称
这个问题列出了多个位置,每个位置都有其ID
Question_Location ID | 问题ID | LOCATION_ID
该问题根据密钥将问题与位置匹配。
我将如何创建一个为我提供以下信息的表: 地点名称
每个问题都与其位置相匹配,但没有看到ID,而是看到了question_name和location_name。
我可以将位置和question_location表以及question_location表和location表联接在一起,但是我无法将它们放在一起,因此我得到了上述输出。
Select q.Question_Name, l.location_name
from Question q
Inner join Question_Location ql on ql.Question_id = q.question_id
inner join Location l on l.location_id = ql.location_id
假设每个问题都有一个位置,并且不为空,那么如果在位置连接处使用左连接,则效果会更好。
你可以试试:
SELECT q.question_name, l.location_name
FROM Question_Location ql
LEFT JOIN Question q on ql.question_id = q.ID
LEFT JOIN Location l ON ql.location_ID = l.ID
;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.