|
|
|
скидки
|
|||
|---|---|---|---|
|
#18+
Как реализовать такую вот задачку: Схема действия скидок. При совершении покупки на сумму более 1000 р. вручают карту со скидкой 3%. 1 Код скидки - 3% скидки в течении 2 месяцев набираем сумму 10 000 р. 2 Код скидки - переходим на 5% скидки и в течении 2 месяцев набираем сумму 20 000 р. 3 Код скидки - переходим на 7% скидки и в течении 2 месяцев набираем сумму 40 000 р. 4 Код скидки - переходим на 10% скидки и в течении 2 месяцев набираем сумму 60 000 р. 5 Код скидки - переходим на 15% скидки и в течении 2 месяцев набираем сумму 10 000 р. (если сумма не набрана за период то счет обнуляется и при 15% скидке набрав сумму десять тысяч покупатель остается без скидки оставшийся двух месячный период и при условии что сумма набрана в установленный период переходим на 5%) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 14:12 |
|
||
|
скидки
|
|||
|---|---|---|---|
|
#18+
Модератор: Тема перенесена из раздела Microsoft SQL Server ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 14:30 |
|
||
|
скидки
|
|||
|---|---|---|---|
|
#18+
В базе таблица-справочник скидочных карточек с уникальными ID И таблица покупок - ID карточки, дата, сумма, %скидки После покупки, при вставке записи о покупке в таблицу вычислять %скидки и заполнять поле %скидки по результатам текущей и предыдущих покупок. А при следующей покупке просто выбирать %наценки из последней покупки. Покупки смотреть только за 2 последних месяца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 19:05 |
|
||
|
скидки
|
|||
|---|---|---|---|
|
#18+
А как можно в запросе сравнить попадают ли все условия в двухмесячный срок. Как составить коректный запрос ДатаТекущейПокупки-ДатаПереходаНаСкидку >= 2 месяцам. Я для себя определил, что необходимо завести две таблицы Покупки и СостояниеСкидки. В СостояниеСкидки поля ДатаПереходаНаСкидку, ДатаТекущейПокупки, ТекущаяСкидка, ТекущаяСуммаНакопления и завести тригер на вставку в таблицу Покупки и потом запросом проанализировать Покупки (выбрать данные исходя из таблицы СостояниеСкидки, поля ДатаПереходаНаСкидку, с этой даты по текущую дату и если сумма и период соответсвуют условию, попадают в двух месячный период) и обновить если что изменилось в жизни этой карты в таблице СостояниеСкидки поля ДатаПереходаНаСкидку и ТекущаяСкидка. Но не знаю пока как это все реализовать в запросе плохо знаю T-SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2006, 12:22 |
|
||
|
скидки
|
|||
|---|---|---|---|
|
#18+
Опиши задачу не сумбурно, а хотя бы в примитивном подобии ТЗ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2006, 17:36 |
|
||
|
скидки
|
|||
|---|---|---|---|
|
#18+
stttА как можно в запросе сравнить попадают ли все условия в двухмесячный срок. Как составить коректный запрос ДатаТекущейПокупки-ДатаПереходаНаСкидку >= 2 месяцам. . Код: plaintext Я для себя определил, что необходимо завести две таблицы Покупки и СостояниеСкидки. В СостояниеСкидки поля ДатаПереходаНаСкидку, ДатаТекущейПокупки, ТекущаяСкидка, ТекущаяСуммаНакопления и завести тригер на вставку в таблицу Покупки . Зачем дата перехода на скидку? В каждой записи на текущую покупку проставлять процент скидки, который получается _после_ покупки. Все sttt Но не знаю пока как это все реализовать в запросе плохо знаю T-SQL. Так с этого и надо начинать. BOL, http://www.firststeps.ru/sql/sql1.html http://www.sql.ru/faq/faq.aspx?id=1 И ТЗ. В голове и на бумажке. Хотя бы в виде схемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2006, 20:27 |
|
||
|
скидки
|
|||
|---|---|---|---|
|
#18+
МТДОпиши задачу не сумбурно, а хотя бы в примитивном подобии ТЗ. Ну вроде описал достаточно подробно здесь 3382840. А за срвнение, Taffy спасибо. Правда как я определю по скидкам когда через два месяца по условию схемы переходит карта на следующую скидку. А подскажите, в тригере как то получить контекст записи возможно. Допустим я ставлю тригер на INSERT в таблице ТЕСТ и хотелось бы получить в тригере значения добавляемой строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 12:12 |
|
||
|
скидки
|
|||
|---|---|---|---|
|
#18+
sttt Правда как я определю по скидкам когда через два месяца по условию схемы переходит карта на следующую скидку. А зачем? При определении скидки - Вы будете выбирать последнюю покупку по этой карте, но не ранее чем за 2 месяца. Если не было покупки - скидки же теряются? Ну так и вот. sttt А подскажите, в тригере как то получить контекст записи возможно. Допустим я ставлю тригер на INSERT в таблице ТЕСТ и хотелось бы получить в тригере значения добавляемой строки. есть таблица inserted - в ней все вставляемые строки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 15:50 |
|
||
|
скидки
|
|||
|---|---|---|---|
|
#18+
Taffy При определении скидки - Вы будете выбирать последнюю покупку по этой карте, но не ранее чем за 2 месяца. Правильно понимаю, необходимо выбрать данные по скидке за двух месячный период, начиная с текущего дня. Как это практически выглядит, не совсем точно вижу реализацию. Taffyесть таблица inserted - в ней все вставляемые строки мне эту таблицу самому нужно создать? или она уже есть? Примера с такой реализацией, в книгах не нашел и справке тоже. Эти весь процесс и тормозиться к сожалению, пока плохо знаю предмет, что бы оценить возможности среды. Моими крупицами знаний был сделан вывод, что необходимо создать две таблицы. В одной будут все совершаемые покупки, а в другой состояние скидок для дисконтной карты и при вводе данных о покупке при определенных условиях обновляется таблица состояния дисконтных карт. Из этого следует, что необходимо на таблицу с покупками создать триггер со всеми условиями, который будет и обновлять таблицу о состоянии карты. Хотелось бы совет, каким еще способом можно это сделать. Думаю, мысль ясна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 06:59 |
|
||
|
скидки
|
|||
|---|---|---|---|
|
#18+
stttПравильно понимаю, необходимо выбрать данные по скидке за двух месячный период, начиная с текущего дня. Как это практически выглядит, не совсем точно вижу реализацию. Таблица покупок - Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. Потом, когда вставляем новую запись в таблицу pokupki на триггере вычисляем процент скидки для следующей покупки. sttt Taffyесть таблица inserted - в ней все вставляемые строки мне эту таблицу самому нужно создать? или она уже есть? Примера с такой реализацией, в книгах не нашел и справке тоже. Эти весь процесс и тормозиться У Вас MS SQL? Если да - поиск в BOL по слову inserted. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 23:15 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34125644&tid=1544900]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
190ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 263ms |
| total: | 553ms |

| 0 / 0 |
