繁体   English   中英

MySQL:加入联合表

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM