|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.11.2013, 20:58 | #1 |
Форумчанин
Регистрация: 08.11.2013
Сообщений: 137
|
ADOQuery.SQL.Text
Кинул на форму ADOQuery, в String list editor написал
SELECT SUM(AAA) FROM BBB WHERE [CCC]=100 Подключчил - работает. Пытаюсь добавить туда же еще две аналогичные строчки: SELECT SUM(AAA) FROM BBB WHERE [CCC]=200 SELECT SUM(AAA) FROM BBB WHERE [CCC]=300 Вопрос: как разделить (чем) разделить эти три строки, чтобы запрос работал. Ставил в конце строк '+', ';' , еще чета пытался ставить - не работает. Идея взята у "POLI-SMEN" в теме http://www.delphisources.ru/forum/sh...ad.php?t=25317 Или в String list editor так делать нельзя? |
15.11.2013, 21:03 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Вставь между каждым запросом строчку UNION. И не мешало бы в каждом сделать, например, так: SUM(AAA) AS MySum
А можно и так SELECT [CCC],SUM(AAA) FROM BBB WHERE [CCC] IN (100,200,300) GROUP BY [CCC]
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 15.11.2013 в 21:06. |
15.11.2013, 21:14 | #3 |
Форумчанин
Регистрация: 08.11.2013
Сообщений: 137
|
Должны вычисляться 3 разных значения, которые потом размещу в 3 разных Editа. Информация будет отображаться на форме как статистика. UNION наверное соберет их в кучу, или нет?
|
15.11.2013, 21:15 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Соберет и вернет три записи. Добавь [CCC] в каждый запрос, чтобы различать где что. А ещё лучше одним запросом с GROUP BY
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 15.11.2013 в 21:18. |
16.11.2013, 12:35 | #5 |
Форумчанин
Регистрация: 08.11.2013
Сообщений: 137
|
Помучался и сделел отдельные ADOQuery.
Возникла другая беда. Результат запроса вывожу в Edit Edit1.Text := FloatToStr(ADOQuery1.Fields[0].AsFloat); Если вычисленное значение 15,54 то в Editе показывает 15,54 Если вычисленное число 15,00 то в Editе показывает 15 без нолей. Как исправить, чтоб целое число показывалось с двумя нолями. В базе (Access) свойство поля - с плавающей точкой DispleyFormat и Editformat везде стоят ,0.00 |
16.11.2013, 13:12 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
а так?
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Adoquery SQL-запрос | qadhhj | БД в Delphi | 0 | 30.04.2012 15:44 |
ADOQuery и sql | shatohingv | БД в Delphi | 5 | 14.10.2011 11:52 |
ADOQuery + SQL-выборка по дате!!! | $T@LKER | БД в Delphi | 14 | 19.04.2010 11:34 |
при присвоении ADOQuery.SQL.Text значения DBLookupComboBox.KeyValue возникает ошибка | namazi74 | БД в Delphi | 1 | 10.04.2010 07:20 |
ADOQuery.SQL | skymaster | Общие вопросы Delphi | 1 | 15.06.2009 20:27 |