Вниз
Скачать: 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 вся ветка

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



Память: 0.47 MB
Время: 0.042 c
2-1128801558
Azeem
2005-10-08 23:59
2005.10.30
Псевдоним проекта


11-1109765207
Boguslaw Brandys
2005-03-02 15:06
2005.10.30
Form.StatusCtl


14-1128893202
Piter
2005-10-10 01:26
2005.10.30
Включение IP маршрутизации


14-1128678091
XGarik
2005-10-07 13:41
2005.10.30
Деньги за воздух


14-1128921696
Ega23
2005-10-10 09:21
2005.10.30
С днем рождения! 10 октября




   Наверх