Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2015, 16:04   #1
DrKirisame
Новичок
Джуниор
 
Регистрация: 18.05.2015
Сообщений: 1
Вопрос Заполнение новой колонки в соответствии с условием.

Доброго времени суток, форумчане.
Есть задача: "Добавить столбец в табл. клиента "скидка". Заполнить следующим образом: 0 покупок - 0, 1-5, 2-10, >2-15"
Количество покупок явно не дано, но в таблице "Транзакции" есть ID клиентов.
Как создать колонку, как подсчитать количество вхождений ID клиента в таблицу транакций и как, через case, выбрать вариант заполнения я понял.
Но вот как это всё связать - увы.
P.S.: довольно плохо могу в джоины и подзапросы.
Прошу совета, а не решения. Ибо понимаю, что задача не из сложных и мне чертовски стыдно за себя.
DrKirisame вне форума Ответить с цитированием
Старый 18.05.2015, 17:21   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

1) считаем по клиентам
Код:
select count(*) as cnt, id 
from ...
group by id
2) в посчитанном определяем группу скидок
Код:
select stat.id, 
case --ВЫЧИСЛЯЕМ группу скидок
     when cnt<=0 then 0
     when cnt>0 and cnt<=5 then 5
     when cnt>5 and cnt<=10 then 10
     else 15 end 
    as discount -- и выводим это как поле
from ( ---запрос из п1 как ПОДЗАПРОС
          select сount(*) as cnt, id
          from 
          group by id 
      ) as stat --и назовем его
такое ?
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение массива с условием. Небесный Общие вопросы Delphi 1 24.05.2011 23:13
Не работают ни колонки ни наушники на новой винде XYJIuGuN Помощь студентам 11 23.04.2011 16:54
Не работают ни колонки ни наушники на новой винде XYJIuGuN Компьютерное железо 5 23.04.2011 13:11
Как раскрасить ячейки StringGrid'а в разные цвета в соответствии с условием? monushka Компоненты Delphi 12 05.11.2007 23:44
добавление новой колонки в ADOTable abakumov БД в Delphi 2 19.02.2007 15:04