0 / 0 / 0
Регистрация: 06.02.2012
Сообщений: 19
1

Необходимо, если товар был продан более 3 раз, повысить цену на него на определенный процент

19.12.2013, 11:02. Показов 3168. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется таблица продажи со столбцами: код_товара,количество_проданного,цена.
Необходимо, если товар был продан более 3 раз, повысить цену на него на определенный процент. На товар, который продается реже всего, снизить стоимость на определенный процент.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2013, 11:02
Ответы с готовыми решениями:

Первый компьютер Apple продан за рекордную цену
На аукционе Christie's за немыслимую сумму продан один из экземпляров персонального компьютера...

Распределите с какого склада какому из покупателей был отпущен товар в феврале (функция ЕСЛИ)
Фирма занимается реализацией бытовой техники. В феврале были заключены сделки и отпущена продукция...

Автомобиль Мицубиси продан, от него осталась эта штучка. Что это?
Как она называется? Размер 11х7 см. На задней крышке имеется куэр код, но мой телефон не читает...

Необходимо чтобы когда товар появился, то строка с пользователем, у которого есть этот товар, подсветилась
есть таблица с подпиской на товар |Пользователь | Дата добавления | Дата изменения | Количество...

5
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 11
19.12.2013, 15:04 2
как-то нелогично все. в таблице продаж должна быть колонка с временем продажи (чтобы отбирать, товары которые не продавались за последнее время(продавались редко)). Плюс должна быть таблица прайс-лист. Вы же не будете увеличивать цену в таблице продаж?

Добавлено через 49 минут
Пусть есть две таблицы:
t1(продажи) - code, quant, price, date
t2(прайс-лист) - code, name, price

Тело процедуры:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
CREATE PROCEDURE Protsedura
AS
SET nocount ON;
 
SELECT code, SUM(quant)AS quant2 INTO #t1
    FROM t1 WHERE date>(SELECT(dateadd(DAY, -7, getdate()))) GROUP BY code --отбираем товары проданные за последние 7 дней
 
/*
Увеличиваем цену на товар, которого за последние 7 дней продано больше 3хштук
*/
UPDATE t2
SET price=price*'1.1' --на 10% увеличиваем цену
WHERE code IN 
    (
        SELECT code FROM #t1 WHERE quant2>3 --где количесвто проданныз больше 3х
    )
 
/*
Уменьшаем цену на товар, который не продавался ни разу за послдение 7 дней
*/
UPDATE t2
SET price=price*'0.9' --на 10% уменьшаем цену
WHERE code NOT IN -- если в таблице продаж нет товара из прайс-листа
    (
        SELECT code FROM #t1
    )
 
DROP TABLE #t1
GO
Вот так мне это видится.
Можно выполнение процедуры добавить в джоб или создать триггер.
0
Эксперт Pascal/Delphi
1134 / 615 / 129
Регистрация: 13.02.2009
Сообщений: 3,517
20.12.2013, 02:02 3
T-SQL
1
2
UPDATE t2
SET price=price*'0.9' --на 10% уменьшаем цену
Не уменьшаем ! это код SET price=price*'0.9' Увеличивает цену на 0.9 %
0
1562 / 1114 / 165
Регистрация: 23.07.2010
Сообщений: 6,444
20.12.2013, 09:40 4
Цитата Сообщение от xxbesoxx Посмотреть сообщение
Не уменьшаем ! это код SET price=price*'0.9' Увеличивает цену на 0.9 %
Это что-то новое
0
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 11
20.12.2013, 11:31 5
Цитата Сообщение от xxbesoxx Посмотреть сообщение
Не уменьшаем ! это код SET price=price*'0.9' Увеличивает цену на 0.9 %
Проверил три раза - уменьшает на 10%. С чего вы взяли, что увеличивает?
0
20 / 20 / 1
Регистрация: 03.01.2013
Сообщений: 184
20.12.2013, 13:53 6
Умножение дробей пропустил наверное...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2013, 13:53
Помогаю со студенческими работами здесь

Найти вероятность того, что герб выпадет: 2 раза; не менее 2 раз; не более 2 раз; не менее одного и не более трех раз
Монету бросают 6 раз. Найти вероятность того, что герб выпадет: а) 2 раза; б) не менее 2 раз; в)не...

Выйти из цикла, если пароль был неверно введен несколько раз
Суть задачи состоит в том, что нужно написать программу, которая запрашивает пароль. Если пароль...

Если в е-мейле две или более точек - на него не приходит письмо с сайта
Всем добрый вечер. У меня есть сайт, на котором есть регистрация пользователей. Для подтверждения...

Определить новую цену на товар
Решите пожалуйста! Товары на складе подлежат переоценке в соответствии с такими условиями: на...

Необходимо раз уделить средства банка таким образом, чтобы годовой доход банка был максимальным
Собственные средства банка составляют 100 единиц. Банк получает прибыль, выдавая кредиты и покупая...

Если в input введен процент от 1 до 100, в другую ячейку таблицы вывести процент от заданного числа
Как сделать так чтоб если в инпут ввести процент от 1 до 100, то в другую ячейку таблицы выведется...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru