|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Выборочный подсчет сумм
Имеются два поля в базе, например:
100 18,34 100 11,18 200 88,00 200 99,14 300 66,07 300 88,18 Вопрос: как подсчитать суммы, относящиеся к 100, к 200, к 300 и вывести например в Editы, при условии что 100, 200, и 300 необязательно будут присутствовать. Т.е. если 100 имеется, тогда подсчитывать, если нет тогда '0' |
#2
|
||||
|
||||
Цитата:
Код:
Query1.Close; Query1.SQL.Text := 'SELECT '+ '(SELECT SUM(Поле2) FROM Таблица WHERE Поле1 = 100), '+ '(SELECT SUM(Поле2) FROM Таблица WHERE Поле1 = 200), '+ '(SELECT SUM(Поле2) FROM Таблица WHERE Поле1 = 300)'; Query1.Open; Edit1.Text := FloatToStr(Query1.Fields[0].AsFloat); Edit2.Text := FloatToStr(Query1.Fields[1].AsFloat); Edit3.Text := FloatToStr(Query1.Fields[2].AsFloat); |
#3
|
|||
|
|||
Код:
SELECT Поле1, SUM(Поле2) AS SUMMA FROM Таблица GROUP BY Поле1 |
#4
|
|||
|
|||
Цитата:
Добавил ADOqueru, подключил, в свойстве sql написал: SELECT * from Имя таблицы активирую, не ругается, А как это туда пристроить? 'SELECT '+ '(SELECT SUM(Поле2) FROM Таблица WHERE Поле1 = 100), '+ '(SELECT SUM(Поле2) FROM Таблица WHERE Поле1 = 200), '+ '(SELECT SUM(Поле2) FROM Таблица WHERE Поле1 = 300)'; где Поле1 - название поля в таблице и т.д. Я и так и сяк пробовап, то на Select ругается, то на синтаксис, то на FROM и не хочет работать. Как правильно делать? |
#5
|
|||
|
|||
Вроде додумался....
Но возникла другая беда. не устанавливается значение по умолчанию. Вернее я его ставлю, но пишет что не установлено. Мот еще что-то надо подкрутить? |