В MySQL необходимо объединить две таблицы с одной таблицей, имеющей несколько ссылок на вторую - PullRequest
0 голосов
/ 12 августа 2010

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

$query = "SELECT * FROM signups INNER JOIN (schedule) ON signups.firstchoice=schedule.semesterid AND signups.secondchoice=schedule.semesterid";

не возвращает никаких результатов из таблицы расписания. Можно ли объединить две таблицы, подобные этой, с двумя столбцами в одной таблице, ссылающимися на один столбец в другой?

1 Ответ

1 голос
/ 12 августа 2010

Я думаю, что вы ищете это:

SELECT * 
FROM signups s
INNER JOIN schedule sc1 ON s.firstchoice=sc1.semesterid 
INNER JOIN schedule sc2 ON s.secondchoice=sc2.semesterid 

Если у них не всегда есть второй выбор, вы можете сделать это:

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