powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / SQL запрос с операцией ветвления - неробит
6 сообщений из 6, страница 1 из 1
SQL запрос с операцией ветвления - неробит
    #32077662
Алекс К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения за свою неосведомленность ,но читал и не понял
есть простая задача
есть база с именем 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
SQL запрос с операцией ветвления - неробит
    #32077677
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой файл?
Какой сервер?
Какая делфя?
Через что ходишь к файлу?
Я НЕ УСТАНУ ЭТО ПОВТОРЯТЬ - пишите - да читаемо/отвечаемы будете - мы не имеем разумения угадывать че Вы там юзаете!
...
Рейтинг: 0 / 0
SQL запрос с операцией ветвления - неробит
    #32077681
Алекс К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня конкретный вопрос по составлению запроса на компоненте TQuery

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

но он не робит...
как сделать что бы он робил...
...
Рейтинг: 0 / 0
SQL запрос с операцией ветвления - неробит
    #32077686
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и дела!
Не буду повторять. Синтаксис 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
SQL запрос с операцией ветвления - неробит
    #32077690
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разумеется в группировке - группировать по тем полям, которые характеризуют сумму.
Код: plaintext
1.
2.
3.
...
group by
       товарX
...
Рейтинг: 0 / 0
SQL запрос с операцией ветвления - неробит
    #32077707
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да BDE у него....

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


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