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
Заказать работу
предложить оффер

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

Archive

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