Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

А можно посредством SQL ... [D5, IB6.x]


Alex G ©   (2002-04-15 03:02:00) 

Привет Всем!!!

Есть вопрос.

Таблица состоит из двух полей:
KOL_VO и PRICE

так вот , надо сделать PRICE=0 пока сумма KOL_VO не достигнет например 100 или больше (двигаемся с начала в конец)

На любом языке пр. это делается просто перебором с подсчетом , а на SQL это можно сделать???


Alex G   (2002-04-15 09:38:00) [1]

Ну вот и разобрались чего мне нужно... :(

Alexsandr прав - если сумма kol_vo превысит 100 то Price=1

Но судя по всему на чистом SQL (без использования хранимых процедур и т.дю) это не возможно, а жаль.


roottim   (2002-04-15 09:20:00) [2]

+
порядок "двигаемся с начала в конец" - это не порядок..
должен быть признак этого порядка!


SB.John   (2002-04-15 09:20:00) [3]

Alexandr © прошу прощения за чушь...


Johnmen   (2002-04-15 09:19:00) [4]

Кривой вопрос - кривой ответ...
>SB.John : не думаю , что именно это надо автору...


roottim   (2002-04-15 09:18:00) [5]

если я правильно понял.. речь идет не о kol_vo<=100 а о последовательном сложении kol_vo в "порядке сверху вниз"
это все-же делается с полмощью курсора - либо на стороне сервера с помощью ХП.. либо на стороне клиента с помощью tQuery последовательным циклом пока сумма kol_vo не будет <=100


SB.John   (2002-04-15 09:16:00) [6]

Упс, опечаточка вышла. Вот правильный запрос:

update table set price =0 where kol_vo<=100


Alexandr   (2002-04-15 09:15:00) [7]

2SB.John:
Чушь то, что ему надо. Я так понял, ему не значение kol_vo надо сравнивать, а сумму kol_vo с начала таблицы :)


SB.John   (2002-04-15 09:09:00) [8]

Alexandr © чушь какая-то

Alex G делается это элементарно одним запросиком.

update table set price0 where kol_vo<=100


DPashin   (2002-04-15 08:52:00) [9]

2 Alex G
А ты уверен, что таблица состоит только из 2 полей?
А то она какая-то странная получается :)


Alexandr   (2002-04-15 06:54:00) [10]

Stored Procedure можно использовать. Это то, что тебе нужно

а через SQL очень хлопотно

может так, но я не уверен. Тут Еще куча ограничений.
update table
set price=0
where (select sum(kol_vo) from table where price<>0)<100


Наверх

Титульная страница Поиск, карта сайта Написать письмо