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

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

Вопрос по условным операторам в SQL Firebird 1.X


Страницы:   1 2 3

Rule ©   (2004-10-05 12:23:00) 

Как мне сделать выбор по условию, щас попробую объяснить ...
допустим есть 2 поля
COUNT(numeric(12,3))
TTYPE(CHAR(1)) -  принимает 2 значения "+" или "-"

так вот надо сделать запрос типа такого чтоб складывало количество если тип равен плюсу или вычитало если минусу, как такое сделать
ну если в цикле изобразить то получится
while not table1.eof do begin
       if table.fields[1].asstring='+' then allcount:=allcount+table.fields[0].asinteger;
       if table.fields[1].asstring='-' then allcount:=allcount-table.fields[0].asinteger;
       table1.next;
                        end;

ну так я думаю будет понятно ?


Sandman25   (2004-10-05 15:58:00) [21]

Нет, лучше переход на FB, или upgrade до IB6 (или 7, уже не помню)


Rule   (2004-10-05 15:56:00) [22]

Sandman25 ©   (05.10.04 15:55) [21]
да ну ради одной реализации писать удф, нет уж извольте, лучше калькулейтид фидлс :(


Sandman25   (2004-10-05 15:55:00) [23]

[20] Rule ©   (05.10.04 15:52)

Поверим :)
udf писать


Rule   (2004-10-05 15:52:00) [24]

Друзья, вы не поверите, но  в интербейзе нет оператора CASE !!!!!!!!!!!!!!!!!!!!!

только что читал  LanGRef  так там даже ключевого слова такого нет, и кроме того ибэксперт не подсвечивает его как зарезервированое, вот это дела, и как теперь в одном запросе так сделать как с помощью CASE


Rule   (2004-10-05 15:48:00) [25]

jack128 ©   (05.10.04 15:40) [18]
ЭЭЭЭЭЭЭЭЭЭЭЭЭ батенька, я задавался этим вопросом очень долго, но приходится писать прогрмму под существующую базу ...


jack128   (2004-10-05 15:40:00) [26]

веселая ветка.
Одно понятно - нафиг поле TType ??? Пусть поле Count будет знаковым и все дела..
Или дома в постеле секса не хватает - хочется еще на работе с SQL тр@№$ться?? ;-)


sniknik   (2004-10-05 15:11:00) [27]

;о) еще более.
зато весело.


sniknik   (2004-10-05 15:11:00) [28]

зато всесело.


Rule   (2004-10-05 15:08:00) [29]

sniknik ©   (05.10.04 15:02) [10]
Johnmen ©   (05.10.04 15:02) [11]

Елки палки, извините меня пожалуйста, надо по ночам спать а не вышеуказанными вещами заниматься :)))
мог бы и сам додуматся, не раз же делал :)))

Огромное спасибо всем присутствующим :)))


Rule   (2004-10-05 15:06:00) [30]

Johnmen ©   (05.10.04 15:02) [11]
да я ради примера привел, у меня то таблица другая, я просто идею так показал :)


sniknik   (2004-10-05 15:04:00) [31]

;о)))


sniknik   (2004-10-05 15:03:00) [32]

пропустил, с полем COUNT так просто не получится, зарезервированное слово. (нада в скобочки, "" такие вроде там в FB)


Johnmen   (2004-10-05 15:02:00) [33]

SELECT SUM((CASE TTYPE WHEN '+' THEN 1 WHEN '-' THEN -1 ELSE 0 END)*COUNT) FROM Table

Кстати, название поля COUNT обязательно !!! измени.


sniknik   (2004-10-05 15:02:00) [34]

> Ух, а чегоже тогда посоветуете
того же самого
SELECT Sum(CASE WHEN TTYPE='+' THEN COUNT ELSE -COUNT END) AS allcount FROM table1

> [5]
непонятно почему не подходит...? или имелся ввиду секс? ;о))


Rule   (2004-10-05 14:39:00) [35]

Johnmen ©   (05.10.04 14:15) [8]
Ух, а чегоже тогда посоветуете


Johnmen   (2004-10-05 14:15:00) [36]

>проце тогда с помощью калкулейтид филдс сделать :)))

И нездорового секса здесь больше...:)


Rule   (2004-10-05 14:13:00) [37]

Johnmen ©   (05.10.04 14:09) [4]
Вот я и говорю что секс нужен :(, а я сегодня не активный в этом плане и вигра не поможет, проце тогда с помощью калкулейтид филдс сделать :)))


Johnmen   (2004-10-05 14:12:00) [38]

>Rule ©   (05.10.04 14:10) [5]

Для чего процедуру ? Для секса или CASE ?
Для CASE точно не надо...:)


Rule   (2004-10-05 14:10:00) [39]

Johnmen ©   (05.10.04 12:31) [2]
Не, этот вариант не подходит, так как это надо процедуру писать :(


Johnmen   (2004-10-05 14:09:00) [40]

>Rule ©   (05.10.04 14:07) [3]

Конечно. Вместе с хорошим сексом...:)


Страницы:   1 2 3

Наверх

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