|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.10.2012, 22:04 | #1 |
Пользователь
Регистрация: 22.05.2012
Сообщений: 30
|
Среднее значение в DBGrid'e
Всем привет. Возник вопрос, как в созданной таблице, сделать запрос, на вычисление среднего значения в строке, и чтоб это значение выводилось в ту же таблицу, только в другую ячейку.
|
20.10.2012, 22:14 | #2 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Для столбцов точно используется AVG. А вот для строк...
Предположим, есть таблица, где в 5 полях содержится пять сумм: SUM1,SUM2,SUM3,SUM4,SUM5 Тогда запрос будет: Код:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
20.10.2012, 22:14 | #3 |
Пользователь
Регистрация: 22.05.2012
Сообщений: 30
|
да, и еще, Я думаю запрос надо написать с помощью функции AVG, но вот что именно писать я не знаю, И еще повторюсь, среднее значение нужно вычислить в СТРОКЕ, а не в столбце..
|
20.10.2012, 22:15 | #4 | ||
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Цитата:
Цитата:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
||
20.10.2012, 22:17 | #5 | |
Пользователь
Регистрация: 22.05.2012
Сообщений: 30
|
Цитата:
И про пример... А если у меня 15 полей, и не факт, что пользователь все 15 заполнит. Как быть??? =( |
|
20.10.2012, 22:23 | #6 | |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Цитата:
А для 15 полей... придется все 15 в запрос и в формулу вписывать.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
|
20.10.2012, 22:30 | #7 |
Пользователь
Регистрация: 22.05.2012
Сообщений: 30
|
Вы думаете это логично? О_О а укоротить никак, да? =) и вопрос, где я должна вписать этот запрос, в самом гриде?
|
20.10.2012, 22:31 | #8 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Нолик там не появится, если хотя бы один NULL, то и резулт будет NULL. Каждое поле нужно функцией обработать. Например COALESCE(SUM1,0), если есть таковая в конкретной СУБД
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
20.10.2012, 22:33 | #9 | ||
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Цитата:
Цитата:
В гриде Вы никакой запрос вписать не сможете. Грид - это компонент для отображения содержимого датасорса, а запрос должен быть вписан в самом датасорсе (конкретно - в TQuery из вкладки BDE или в ADOQuery из ADO и тп). И этот Query должен связываться с гридом.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось Sciv; 20.10.2012 в 22:37. |
||
20.10.2012, 22:41 | #10 |
Пользователь
Регистрация: 22.05.2012
Сообщений: 30
|
АДО у меня =) ну на сколько я знаю, в адо квери есть прям свойство sql, просто можно и туда вписать запрос, я так понимаю, или лучше прям в код программы?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Присвоить значение поле в DBGrid'e компоненту DBLookupComboBox2 | фЁдОр | БД в Delphi | 14 | 07.09.2012 14:26 |
среднее значение | KaZaaM | SQL, базы данных | 2 | 01.06.2012 16:18 |
Среднее значение | Dima-War | Общие вопросы C/C++ | 7 | 23.03.2012 10:37 |
Среднее значение | SB86 | Microsoft Office Excel | 3 | 08.06.2010 07:24 |
среднее значение | tonic | Microsoft Office Excel | 1 | 04.01.2008 00:20 |