@frilix
Иногда "творю"

Сложный SQL запрос для вывода категорий по датам?

Доброго времени суток! Есть таблица товаров:
Products
-----------------------------------
id | category_id | name | date |
-----------------------------------
и таблица категорий:
Category
------------
id | name |
------------

Нужно вывести:
-------------------
id | name | date |
--------------------

где name, id берется от категории, а date от продукта. То есть последовательность действий:
  • Получить 3 последние даты добавления товара (в один день могут добавляться много товаров)
  • Вывести категории этих товаров, где добавить дату
  • Убрать дублирующиеся поля


Начал так:
SELECT category_id, name from Products WHERE date in (SELECT dates.date FROM (SELECT date FROM Products GROUP BY date) as dates ORDER BY dates.date DESC LIMIT 3))


Получил ошибку, что нельзя использовать LIMIT да и запрос получается слишком сложные. Возможно как-то упростить?
  • Вопрос задан
  • 272 просмотра
Решения вопроса 1
l1tero
@l1tero
Быдлокодер
Что-то вроде:
select p.id as id, p.name as P_NAME, p.date as DATE from Products p
LEFT JOIN Category c
ON c.id=p.category_id
order by p.date DESC
LIMIT 3
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@LiguidCool
используйте Join запросы!!!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы