Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с хранимой процедурой(T-SQL) 
:(
    Опции темы
Erick
Дата 25.9.2005, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 19.5.2005

Репутация: нет
Всего: нет



Цитата

Написать хранимую процедуру CHK_TOT, которая получает идентификатор клиента и вычисляет общую стоимость его заказов (поле AMOUNT таблицы CUSTOMERS) и в зависимости от того, превысит ли эта сумма 30 000$, заносит в поле STATUS таблицы OFFICES одно из двух примечаний – “большой объем заказов”, ”малый объем заказов”.

Не могу догнать как сделать условие.
smile

Заранее благодарен.
PM MAIL   Вверх
Akina
Дата 25.9.2005, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



без оглядки на синтаксис

@var=select sum(amount) from customers where customerID = @ID
if @var > 30000 then
update offices set status = “большой объем заказов” where customerID = @ID
else
update offices set status = “малый объем заказов” where customerID = @ID
end if


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
SergKO
Дата 26.9.2005, 06:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 14.3.2005

Репутация: 17
Всего: 20



Или одним запросом


Код

UPDATE OFFICES SET STATUS = (SELECT Status FROM
            (SELECT ClientId,
             Status = CASE 
                WHEN SUM(AMOUNT) > 30000 THEN 'большой объем заказов'
                ELSE 'малый объем заказов' END
             FROM CUSTOMERS
             GROUP BY ClientId
            ) t WHERE OFFICES.ClientId = t.ClientId)


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0421 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.