繁体   English   中英

如何将2个表与另一个3rd表中的公共列联接?

[英]How to join 2 tables with a common column in another 3rd table?

我想将餐桌视频与餐桌一起加入,但是他们之间没有直接的共同栏目,但两个餐桌都与餐桌拥有共同的栏目,所以帮我来一起把餐桌与餐桌视频一起来

id                 village_id
 1                 smg

视频

id               village_id
 1                 smg  

id               name
smg                hdd

我已经尝试了以下代码,但无法正常工作:

SELECT people.id, video.id
FROM people
JOIN village ON people.village_id = village.id
JOIN video ON video.village_id = village.id

如果您提供的表格结构正确,那么您确实可以在视频和人物之间建立链接。 你有village_id ...

SELECT p.id , vid.id 
FROM people  as p 
INNER JOIN video as vid 
    ON vid.village_id = p.village_id 

如果您不希望有任何重复的值,则可以像这样执行SELECT DISTINCT

SELECT DISTINCT p.id , vid.id 
FROM people  as p 
INNER JOIN video as vid 
    ON vid.village_id = p.village_id 

您能否提供您想要的更多详细信息?

SELECT  * FROM

(SELECT people.village_id AS pv_id, village.id AS v_id FROM
people JOIN village ON people.village_id = village.id) AS T

JOIN video ON video.village_id = T.v_id;

我假设您要进行三重联接。 我首先将人和村庄合并为一个表,并将其命名为T,然后将T与视频表合并。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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