Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.30;
Скачать: CL | DM;

Вниз

Как правильно сложить несколько полей?   Найти похожие ветки 

 
DimonS ©   (2005-09-19 05:43) [0]

Добрый день всем. Имеем: Query. Нужно при открытии БД в одно поле записать сумму нескольких других полей этой же таблицы. Как правильно составить запрос?


 
Ильш ©   (2005-09-19 06:10) [1]

pole1+pole2


 
Fedia ©   (2005-09-19 06:10) [2]

А поле, содержащее сумму других полей обязательно должно находиться в таблице в БД? Может быть, просто сделать вычисляемое поле при запросе?


 
DimonS ©   (2005-09-19 06:40) [3]

>Fedia
Да, поле должно существовать.

>Ильш
А кусок кода можно?


 
Ильш ©   (2005-09-19 07:18) [4]

select pole1+pole2 as pole_summ from table1


 
DimonS ©   (2005-09-19 08:37) [5]

Пишу такой код:

QZ.Close;
QZ.SQL.Clear;
QZ.SQL.Add("select Us+SMRS+SMR as Usl from "+Zarq+" where (P=""+MaskEdit1.Text+"")");
QZ.ExecSQL;

И ничего не происходит. Где ошибка зарылась?


 
Ильш ©   (2005-09-19 08:53) [6]

может в where ? ;)


 
ЮЮ ©   (2005-09-19 09:21) [7]

QZ.Open.

Или с текстом в запросе

UPDATE Table
SET Usl = Us+SMRS+SMR
WHERE ...

QZ.ExecSQL;

если поле реально существует в таблице. Надеюсь, что это все-таки не так :)


 
msguns ©   (2005-09-19 09:49) [8]

Я все же вообще не понял, что надо-то ?
Что значит
Нужно при открытии БД в одно поле записать сумму нескольких других полей этой же таблицы.
вместе с
Да, поле должно существовать.

?

Поле должно существовать в полученом на клиенте (приложении) наборе данных ? Или непосредственно в таблице БД ?

Если 1-е, то в [5] ответ, только, разумеется, вместо ExecSQL (применяется для записи в БД) надо Open (применяентся при извлечениях данных из БД)

Если 2-е, то [7], хотя у меня сильное подозрение, что это мура какая-то: отдельным запросом вычислять и записывать (да еще при открытии таблицы) сумму, если ее можно расчитать сразу же при модификации (вставке) записи. Не говоря уже о том, зачем вообще хранить в БД поля, получаемые как результат из других полей этой же записи.

ЗЫ. ИМХО, вопрос надо формулировать яснее, тогда и не будет длинных гаданий.


 
DimonS ©   (2005-09-19 10:15) [9]

Здесь как раз второе. Поле нужно для выгрузки значений его в 1с. Так что значения действительно должны храниться в этой бд.

>отдельным запросом вычислять и записывать (да еще при открытии таблицы)

Не обязательно при открытии, нужно еще во время работы приложения, а сразу вычислить нельзя по другим причинам.


 
ANB ©   (2005-09-19 10:32) [10]


> DimonS ©   (19.09.05 10:15) [9]

Смотреть описание UPDATE в справке



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

Текущий архив: 2005.10.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.042 c
4-1125138258
lelik2005
2005-08-27 14:24
2005.10.30
Помогите с созданием окна по рисунку


4-1125027100
Irinka
2005-08-26 07:31
2005.10.30
как программно отключать и включать Active Desktop?


2-1127735874
Grain
2005-09-26 15:57
2005.10.30
exe-шник виснет


14-1128423454
Андрей Жук
2005-10-04 14:57
2005.10.30
Турнир шахматистов


3-1127198715
pasha_golub
2005-09-20 10:45
2005.10.30
TDatasetProvider s stuff