Как объединить 2 таблицы с общим столбцом в другую 3-ю таблицу? - PullRequest
0 голосов
/ 06 июля 2018

Я хочу присоединиться к таблице people с таблицей video , но у них нет прямого общего столбца между ними, но обе таблицы имеют общий столбец с таблицей village помогите мне присоединиться к столу человек с таблицей видео .

ЛЮДИ

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

Ответы [ 2 ]

0 голосов
/ 06 июля 2018
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 с видео таблицей.

0 голосов
/ 06 июля 2018

Если указанная вами структура таблицы правильная, значит, у вас есть связь между видео и людьми. У вас есть 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 

Не могли бы вы предоставить более подробную информацию о том, что именно вы хотите?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...