MySQL:加入联合表

时间:2015-05-25 10:12:53

标签: mysql sql join inner-join

我有三张桌子

问题 ID | question_name

此表列出了一些问题,每个问题都有id。

地点 ID | LOCATION_NAME

此问题列出了多个位置,每个位置都有其ID

Question_Location ID | question_id | location_ID

此问题根据密钥将问题与位置相匹配。

我如何创建一个提供给我的表格: question_name | LOCATION_NAME

每个问题都与其位置相匹配,但我没有看到ID,而是看到了question_name和location_name。

我可以加入位置和question_location表以及question_location表和位置表,但是我没有设法把它放在一起,所以我有所描述的输出。

2 个答案:

答案 0 :(得分:0)

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

假设每个问题都有一个位置而不是null,如果是这样的话,那么在位置连接上使用左连接会更好。

答案 1 :(得分:0)

你可以尝试一下:

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
;