Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / SQL запрос с операцией ветвления - неробит / 6 сообщений из 6, страница 1 из 1
10.12.2002, 09:37
    #32077662
Алекс К.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос с операцией ветвления - неробит
Прошу прощения за свою неосведомленность ,но читал и не понял
есть простая задача
есть база с именем Base123 и с полями скажем field1 ,field2 ,field3 ,field4
мне нужно в поле field1 поставиь значение 1 или 2 но относительно суммы полей field4 и field3 ,типа если эта сумма больше или равна нулю то в field1=1 ,а если меньше нуля то field1=2..
как можно это реализовать
я пробывал впихать оператор If в запрос с помощью запроса , но ошибки вылетают и вылетают
тиипа


SQL := 'Field1=if(Field2+Field3>=0,1,2)';
HT.SQL.Text := 'UPDATE Base123 SET '+SQL
HT.ExecSQL;

помогите плиз...
...
Рейтинг: 0 / 0
10.12.2002, 10:06
    #32077677
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос с операцией ветвления - неробит
Какой файл?
Какой сервер?
Какая делфя?
Через что ходишь к файлу?
Я НЕ УСТАНУ ЭТО ПОВТОРЯТЬ - пишите - да читаемо/отвечаемы будете - мы не имеем разумения угадывать че Вы там юзаете!
...
Рейтинг: 0 / 0
10.12.2002, 10:21
    #32077681
Алекс К.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос с операцией ветвления - неробит
у меня конкретный вопрос по составлению запроса на компоненте TQuery

запрос такого характера
Query.SQL.Text := 'UPDATE Base123 SET Field1=if(Field2+Field3>=0,1,2)
Query.ExecSQL;

но он не робит...
как сделать что бы он робил...
...
Рейтинг: 0 / 0
10.12.2002, 10:28
    #32077686
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос с операцией ветвления - неробит
Ну и дела!
Не буду повторять. Синтаксис SQL отличается в зависимости от того чем и куда ходишь. Черти полосатые! ANSI-92 различается в стороно улучшения эффективности в зависимости от инструмента, платформы, сервера, а не только версии делфи. Ладно вот по ANSI-92 - а там сами сношайтесь в нужном вам направлении ! (если лень написать что за инструмент):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
update таблица
set    сумма1 = sum (поле1),
       ...
       суммаX = sum (полеX)
group by
       поле1,
       ...
       полеX


а можете в цикле суммировать - работать будет быстрее!
...
Рейтинг: 0 / 0
10.12.2002, 10:32
    #32077690
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос с операцией ветвления - неробит
Разумеется в группировке - группировать по тем полям, которые характеризуют сумму.
Код: plaintext
1.
2.
3.
...
group by
       товарX
...
Рейтинг: 0 / 0
10.12.2002, 10:50
    #32077707
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос с операцией ветвления - неробит
Да BDE у него....

А там
Case when then else end
нет!!!!!!!!!!
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / SQL запрос с операцией ветвления - неробит / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]