2016-11-21 4 views
-9

У меня есть 2 таблицы [Table1, TABLE2]присоединиться к таблице для несколько колонка

Table 1 
+----+------------+ 
| id | name  | 
+--+--------------+ 
| 2 | Film  | 
| 1 | Music  | 
| 3 | OTHER  | 
| 5 | Sports  | 
| 4 | TV Content | 
+----+------------+ 

Table 2 
+----+-----+-----+ 
| id | id1 | id2 | 
+----+-----+-----+ 
| 2 | 1 | 1 | 
| 1 | 1 | 1 | 
| 3 | 2 | 1 | 
| 5 | 3 | 1 | 
| 4 | 4 | 1 | 
+----+-----+-----+ 

и мой желаемый результат является

+------------+------------+----------+ 
| id_name | id1_name | id2_name | 
+------------+------------+----------+ 
| film  | Music  | Music | 
| music  | Music  | Music | Required Output 
| other  | Film  | Music | 
| sports  | OTHER  | Music | 
| TV Content | TV Content | Music | 
+------------+------------+----------+ 

Как я могу это сделать?

+2

Prade, что ты пытался до сих пор? Почему это не сработало? Гораздо легче людям помочь вам, если вы предоставите дополнительную информацию. Пожалуйста, посмотрите статью [ask] в справочном центре. – Gulllie

+3

Какие dbms вы используете. (Удалите два из отмеченных.) – jarlh

ответ

1

Как у вас есть три различных внешних ключей, вам нужно сделать три разные соединяется с той же таблицей:

SELECT table1.name AS 'id_name', 
     first.name AS 'id1_name', 
     second.name AS 'id2_name' 
FROM table2 
    JOIN table1 ON 
     table1.id = table2.id 
    JOIN table1 first ON 
     first.id = table2.id1 
    JOIN table1 second ON 
     second.id = table2.id2 
+1

Если вы хотите получить имя трех столбцов, чем да :) – Wouter

+0

благодарит свою работу за меня, –

Смежные вопросы