Добрый вечер, друзья моего кодера,
Как видно из заголовка этого Вопроса, у меня есть немного сложный запрос mysql, который я пытаюсь использовать для создания запросов в построителе запросов в Laravel, но каждый раз, когда я пытаюсь записать его, я останавливаюсь, когда достигаю подзапроса. Я запишу запрос, а также сообщу, что будет делать запрос.
SELECT
brands.name_en as brand_name_en,
brands.name_ar as brand_name_ar,
brands.brand_url as brand_url,
brands.description_ar as description_ar,
brands.description_en as description_en,
categories.name_en as category_name_en,
categories.name_ar as category_name_ar
FROM
brands
INNER JOIN categories ON brands.category_id = categories.id
WHERE
(brands.status = "1")
AND
(
brands.id IN (
SELECT
distinct(items.brand_id)
FROM
items
WHERE
items.in_stock = "1"
GROUP BY
(items.brand_id)
)
)
Объяснение запроса:
У меня есть три таблицы:
- Торговая марка (id, name, category_id)
- Категории (id, name, brand_id)
- Предметы (id, brand_id, in_stock, sold_date)
Теперь я хочу сделать следующее:
я хочу получить (название бренда и название категории) и отсортировать их по самым высоким продажам за последний месяц
Это пример таблиц с данными в них:
Brands Table
------------
id name category_id
1 googleplay 1
Categories Table
--------------------------
id name brand_id
1 cards 1
items Table
-----------
id brand_id in_stock selling_date
1 1 0 null
1 1 1 2017-02-02 04:04:49
Пытался почти 2 дня, но не повезло, так как это действительно сложно, когда он достигает части подзапроса.
Очень надеюсь, что вы получите помощь от вас, ребята. и дайте мне знать, если вам, ребята, нужно больше объяснений, пожалуйста, я мог бы что-то забыть при написании вопросов.
Заранее спасибо.