Здравствуйте, у меня есть таблица со списком школьных курсов. (школьные школьные занятия) В таблицу входит внутренний стол с инструкторами, которые назначаются на этот курс (инструкторы).PHP/MySQL Запрос в запросе
До сих пор было легко.
Комплексная часть в том же запросе Мне нужно получить статус инструктора. Существует еще одна таблица под названием course_acceptance_history. Поэтому, когда инструктору назначается курс, он принимает курс. И он вставляет запись в course_acceptance_history.
Инсталлятор МОЖЕТ принять, а затем отказаться от курса, тогда другой инструктор может ПРИНИМАТЬ тот же курс. Итак, другими словами, у курса_acceptance_history может быть 10 записей для одного и того же курса.
Как выбрать запись MOST RECENT для курса из course_acceptance_history во время запроса, который получает все курсы?
Это то, что мой запрос выглядит, но я думаю, что я нужен вспомогательный запрос, чтобы тянуть только запись из course_acceptance_history с наибольшим ID для этого курса и инструктор ID
Пример
SELECT * FROM schoolcourses
INNER JOIN instructors ON schoolcourses.courseinstructor = instructors.instructorsid
INNER JOIN course_acceptance_history ON schoolcourses.schoolcoursesid = course_acceptance_history.courseid
Я думаю Мне нужно объединить запрос выше
SELECT * FROM course_acceptance_history WHERE instructorid=$insid AND courseID=$courseID ORDERBY ID DESC
штампуются время акцепты или я ndexed как-то указать порядок входа? – ethrbunny
Я бы просто добавил поле most_recent к курсу_acceptance_history :) При добавлении нового акцепта сначала установите most_recent = 0 для этого инструктора и курса, чем добавьте новую запись с most_recent = 1 –
Надеюсь, вы абсолютно уверены, что ваши пользовательские параметры [правильно escaped] (http://bobby-tables.com/php), потому что данные '$ _POST' непосредственно в запросе создают гигантскую [SQL-инъекцию] (http://bobby-tables.com/). – tadman