Я хочу присоединиться к табличные людям со столом видео, но они не имеют прямой общий столбец между ними, но обе таблицей имеет общий столбец со столом селом так помочь мне присоединиться таблицами людей с таблицей видео.
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
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;
Я предполагаю, что вы хотите сделать тройной JOIN. Я впервые присоединился к людям и деревням в таблице и назвал их T и присоединился к T с видео-столом.
Если структура таблицы, которую вы предоставили, верна, у вас есть ссылка между видео и людьми. У вас есть деревня_ид...
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
Не могли бы вы предоставить более подробную информацию о том, что именно вы хотите?