Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.049 c
14-1128508788
NewWonder
2005-10-05 14:39
2005.10.30
Проблема с компьютерами..


6-1120919399
Dust
2005-07-09 18:29
2005.10.30
TServerSocket и TClientSocket


2-1128789208
Alex77777
2005-10-08 20:33
2005.10.30
DBGrid подсчитать кол-во записей????


2-1128600837
Sysanin
2005-10-06 16:13
2005.10.30
Переменные в функциях


2-1128563154
Viktop
2005-10-06 05:45
2005.10.30
Формат файла для теста





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский