我想将桌上的人与桌视频联接起来,但他们之间没有直接的公共列,但两个表都有与桌村的公共列,所以请帮助我用桌视频加入桌上的人。
人
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与视频表连接在一起。