2016-06-07 3 views
1

У меня есть две таблицы: USER и СУБЪЕКТОВПолучить несколько значений из другой таблицы различных отношений

таблица USER

USER table

ПРЕДМЕТ стол

SUBJECT table

SUBJECT1, SUBJECT2, SUBJECT3 из таблицы USER - это внешние ключи к идентификатору столбца в таблице SUBJECT.

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

| ID | NAME | AGE | ADDRESS | SUBJECT1 | SUBJECT2 | SUBJECT3 | 
+----+-------+-----+---------+----------+----------+----------+ 
| 1 | John | 30 | London | Math  | English | Sports | 
| 2 | Marry | 40 | London | English | Sports | Biology | 
| 3 | Tom | 35 | Paris | English | Sports | Russian | 

ответ

2

Try следующий;)

select 
    u.ID, u.NAME, u.AGE, u.ADDRESS, s1.NAME as SUBJECT1, s2.NAME as SUBJECT2, s3.NAME as SUBJECT3 
from USER u 
left join SUBJECT s1 on u.SUBJECT1 = s1.ID 
left join SUBJECT s2 on u.SUBJECT2 = s2.ID 
left join SUBJECT s3 on u.SUBJECT3 = s3.ID 
+0

Спасибо! Это отлично работает :) – ikken32