Итак есть 3 таблицы:
Ресторан (restaurant)
Блюдо (dish)
Заказ (purchase)
Нужно вывести все рестораны и 2 самых популярных блюда к каждому ресторану. По идее этот запрос должен вывести всё так как положено:
CODE ( SQL):
скопировать код в буфер обмена
SELECT restaurant.id, restaurant.`name`, dish.`name` FROM restaurant INNER JOIN dish ON dish.restaurant_id = restaurant.id WHERE dish.id IN ( SELECT t.id FROM ( SELECT dish.id, dish.restaurant_id, COUNT(*) AS count FROM dish INNER JOIN purchase ON purchase.dish_id = dish.id GROUP BY dish.id ) AS t WHERE t.restaurant_id = restaurant.id LIMIT 2 ) GROUP BY dish.id
Но mysql ругается:
Цитата:[Err] 1235 - This version of MariaDB doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
С помощью JOIN это не получилось решить. Какие есть идеи как это сделать?(Отредактировано автором: 30 Мая, 2018 - 13:48:41)
|