powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите нубу сделать SELECT ))
3 сообщений из 3, страница 1 из 1
Помогите нубу сделать SELECT ))
    #40036282
Psion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
привет
надеюсь на помощь

ОБЫЧНО клиенты (мы знаем как их зовут) покупают один и тот же продукт (ну например, сорт сигарет). Нам нужно узнать, когда и какой клиент купил вдруг другие сигареты, чем обычно.

Построил БД из трех табличек -
продукты (ид_продукта, имя_продукта)
клиенты (ид_клиента, имя_клиента)
покупки (ид_покупки, дата, ид_клиента, ид_продукта)

вопрос - как построить запрос таким образом чтобы вывести:

имя_клиента, дату покупки ДРУГОГО сорта сигарет (вывести имя_продукта), и вместо какого сорта он купил новый (имя_продукта - предыдущий сорт и последняя дата покупки того прошлого сорта).

То есть примерно такой результат:

Сергей - Винстон - 30.12.2020 - Мальборо - 20.12.2020

Уже голову сломал, но я очень чайник )
Если не влом - намекните хоть куда копать, какие использовать функции.

Премного благодарен )
...
Рейтинг: 0 / 0
Помогите нубу сделать SELECT ))
    #40036284
Psion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Главное понять можно ли здесь вообще это сделать ))
...
Рейтинг: 0 / 0
Помогите нубу сделать SELECT ))
    #40036291
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Psion,
Ваш пост напомнил мне бородатый анекдот:
- Грузины лучше чем армяне.
- А чем лучше-то?!
- Чем армяне.

Вы определитесь с критерием, что считать постоянной покупкой. Допустим, если клиент "Сергей" купил Винстон 2 раза - это постоянная покупка или нет? А если 5 раз? А если он купил Парламент 5 раз и Винстон 5 раз? Что из них считается за постоянную покупку? Оба товара? Или только тот, который покупался чаще в последнее время? Какое именно время? А если "Сергей" купил Винстон 5 раз, а Парламент 6? Винстон считается постоянной покупкой? Или может нужно указывать процент (долю) товара в общей массе покупок, чтобы признать товар постоянной покупкой? Что в случае равных долей считать постоянной покупкой?

Если же вы задаёте постоянный товар руками в виде параметра, то в таком случае у вас запрос сводится фактически к простой вещи: вам надо выбрать последнюю покупку этого товара и покупку другого товара с датой после покупки постоянного. Только вам надо придумать бизнес-правило если этих покупок несколько.
Куда копать (заготовка):
Код: sql
1.
2.
3.
4.
5.
ВЫБРАТЬ кл.имя_клиента, пп.дата, нп.дата
  ИЗ клиенты кл
    ПРИСОЕДИНИТЬ покупки пп ОН кл.ид_клиента = пп.ид_клиента   -- пп - постоянные покупки
    ПРИСОЕДИНИТЬ покупки нп ОН кл.ид_клиента = пн.ид_клиента   -- нп - новая покупка
  ГДЕ пп.ид_продукта = :ид_постоянного_продукта 
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите нубу сделать SELECT ))
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]