0
У меня есть три таблицы, называемые edum_application, edua_courseEvent и edua_coursePackage.Могу ли я оптимизировать этот SQL-запрос каким-либо образом?
Я пишу вопрос, чтобы получить все приложения из edum_application, где все coursePackage_id в courseEvent является й и всеми они имеют тот же applicationWrapper_id
Этот запрос работает, но это эффективное?
SELECT app.application_id, app.applicationWrapper_id
FROM edum_application AS app
INNER JOIN edua_courseEvent AS ce ON app.courseEvent_id = ce.courseEvent_id
WHERE app.applicationWrapper_id = 662
AND app.courseEvent_id IN
(
-- Is this really efficient?
SELECT ce.courseEvent_id
FROM edua_courseEvent AS ce
WHERE ce.coursePackage_id =
(
SELECT coursePackage_id
FROM edua_courseEvent AS ce
WHERE ce.courseEvent_id = 13377
)
)
Выход:
application_id applicationWrapper_id
72643 662
72645 662
72646 662
72647 662
С уважением, но это не возвращает никаких результатов по мере нарушения кода. Кроме того, мне не нужны отличительные для конкретной «обертки», но все приложения, в которых _courseEvents_ имеют одинаковый _coursePackage_Id_, значение, которое я не знаю, когда я прихожу к этому запросу. – Fr3gU
Удивительный. Это отлично работает. Я также создал индекс на applicationWrapper_id, как это предлагается в плане выполнения. Благодаря! – Fr3gU