Главная страница
    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.038 c
3-1126853127
ZZZ
2005-09-16 10:45
2005.10.30
Блокировка кнопки закрытия окна.


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


2-1128525012
Витя
2005-10-05 19:10
2005.10.30
Как установить ранг в TADOTable


8-1113987578
Grief
2005-04-20 12:59
2005.10.30
Превращение bmp в avi.


2-1128158403
locki
2005-10-01 13:20
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский