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

0

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

ЛЮДИ

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
  • 0
    Образцы данных и желаемые результаты действительно помогут.
  • 0
    Ваш запрос выглядит нормально для меня sqlfiddle.com/#!9/e797b4/1
Теги:
database
join

2 ответа

0
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 с видео-столом.

0

Если структура таблицы, которую вы предоставили, верна, у вас есть ссылка между видео и людьми. У вас есть деревня_ид...

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 

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню