RSS-подписка

RSS-лента

Новые статьи

Последние комментарии


Получать обновления на эл. почту

Ваш e-mail:

Рассылка новостей от Loco

MySQL запрос приджойнивания с INNER JOIN 2-х таблиц к основной

Нет картинки Как составлять сложный MySQL запрос через несколько таблиц. Очень полезное, и иногда единственное правильное решение для нестандартной выборки и формирования данных.

Рассмотрим запрос к MySQL на выборку ЭЛЕМЕНТОВ, у которых есть упражнения, относящиеся к заданной связке (с помощью промежуточной таблицы). Аналогичный пример, выборка категорий, у которых есть статьи с указанным тегом. То есть при таком запросе необходимо учесть данные из 3 связанных одна к другой таблиц. Причё будет использовать INNER JOIN, чтобы исключались из основной таблицы те строки, которые не удовлетворяют связке.

'SELECT * FROM element INNER JOIN element_exercise ON element.id=element_exercise.element_id INNER JOIN exercise_to_pupil_bind ON element_exercise.id=exercise_to_pupil_bind.exercise_id WHERE exercise_to_pupil_bind.pupil_id = 1 GROUP BY element.id'


 Не знаю можно ли такой запрос писать через Active Record в yii2, а если возможно, то какой из вариантов правильнее и меньше нагружает базу данных? И какой тип таблиц создавать - InnoDB или нет? Пишите в комментариях, что знаете по этому поводу.      

Источник: loco.ru

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Вы можете почитать все статьи от almix'а.



Другие статьи по этой теме:

Комментарии (0)     Подпишитесь на RSS комментариев к этой статье.

Leave a Comment

Fields with * are required.

Картинка с кодом валидации
Пожалуйста введите символы с картинки. Регистр букв неважен.