Это моя структура таблицы:
|----------------|
| Feedback |
|----------------|
|id |
|workout_id |
|comment (string)|
|----------------|
|----------------|
| Workout |
|----------------|
|id |
|trainable_id |
|----------------|
|----------------|
| LiveTraining |
|----------------|
|id |
|title (string) |
|----------------|
Таблица тренировок является полиморфной, но это не относится к делу.
Что мне нужно сделатьэто MySQL Query:
Показать ВСЕ комментарии за последние 5 LiveTrainings, где результат принесет два столбца: один с заголовком LiveTraining и другой с ответом.
Это должен быть ожидаемый ответ:
|---------|---------|
| Title | Comment |
|---------|---------|
| Lorem 1 | Lorem 2 |
| Lorem 1 | Lorem 3 |
| Lorem 4 | Lorem 5 |
| Lorem 6 | Lorem 7 |
|---------|---------|
Я пытался сделать что-то подобное (без успеха - пустой ответ):
SELECT live_trainings.title, feedbacks.*
FROM workouts
INNER JOIN (select * FROM live_trainings order by id desc limit 5) live_trainings ON workouts.trainable_id = live_trainings.id
INNER JOIN feedbacks ON live_trainings.id = feedbacks.workout_id
Также пробовал некоторые UNION ALL решения, некоторые SELECT (SELECT) , среди прочих ... все безуспешно.
ОЧЕНЬ ВАЖНО: должно быть одноРешение для запроса, вообще без функций или процедур: (
Каким был бы идеальный запрос для этой проблемы?