Вниз
Скачать: CL | DM;

А можно посредством SQL ...   Найти похожие ветки 

← →
Alex G   (2002-04-15 03:02) [0]

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

Есть вопрос.

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

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

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


← →
Alexandr ©   (2002-04-15 06:54) [1]

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

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

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


← →
DPashin   (2002-04-15 08:52) [2]

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


← →
SB.John   (2002-04-15 09:09) [3]

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

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

update table set price0 where kol_vo<=100


← →
Alexandr ©   (2002-04-15 09:15) [4]

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


← →
SB.John   (2002-04-15 09:16) [5]

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

update table set price =0 where kol_vo<=100


← →
roottim   (2002-04-15 09:18) [6]

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


← →
Johnmen ©   (2002-04-15 09:19) [7]

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



← →
roottim   (2002-04-15 09:20) [8]

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


← →
SB.John   (2002-04-15 09:20) [9]

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


← →
Alex G   (2002-04-15 09:38) [10]

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

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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.009 c
4-26306
comwad
2002-03-08 05:13
2002.05.09
Вызов PostMessage в DLL.


7-26284
ray_wagner
2002-02-05 15:57
2002.05.09
Эмуляция активной деятельности компа :-)


3-26018
weak
2002-04-16 14:05
2002.05.09
удаление записи


7-26276
Broot
2002-02-01 11:57
2002.05.09
Раскладка клавиатуры


1-26191
Ghost.
2002-04-24 11:06
2002.05.09
Если вопрос часто повторяется извиняюсь..




   Наверх