MySQL выбрать данные из двух таблиц

Вопросы и ответыРубрика: MySQLMySQL выбрать данные из двух таблиц
0 +1 -1
Виталий спросил 6 лет назад

Добрый день, такая ситуация. Имеется 2 таблицы:
«Товары» (номер товара, название, цена);
«Продажи» (номер продажи, номер товара, номер продавца, дата, количество);
1. Нужно выбрать название товаров, проданных в заданный промежуток дат. Например с 12.01.2012 по 15.01.2012
2. Выбрать название товара, которого продано само много за все время.
2-ой день мучаюсь, не выходит. Рад буду, если поможете и объясните.

1 ответ
0 +1 -1
Роман Чернышов Админ. ответил 6 лет назад

Добрый день, варианты:

1)
SELECT t1.title
FROM table1 t1
LEFT JOIN table2 t2 ON t2.item_id = t1.item_id
WHERE t2.date BETWEEN ‘2017-11-04’ and ‘2017-11-15’

если продаж одного товара несколько можно сгруппировать данные

SELECT t1.title
FROM table1 t1
LEFT JOIN table2 t2 ON t2.item_id = t1.item_id
WHERE t2.date BETWEEN ‘2017-11-04’ and ‘2017-11-15’
GROUP by t1.item_id

2)
Вывод 5 самых популярных товаров

SELECT t1.title, (SELECT count(t2.id) FROM table2 t2 WHERE t2.item_id = t1.item_id) AS countSell
FROM table1 t1
ORDER BY countSell DESC
LIMIT 5

или так

SELECT t1.title
FROM table1 t1
ORDER BY (SELECT count(t2.id) FROM table2 t2 WHERE t2.item_id = t1.item_id) DESC
LIMIT 5

Автор блога
Роман Чернышов
Веб-разработчик,
Full Stack
Senior, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Купить за 159₽
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка