![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Есть две таблицы (ClientDataSet). Первая, назовём её (FIOT) с первичным ключом (ID) и тектовым
полем (Fio)- где записываются фамилии. Вторая, назавём её (SUMT) c ключевым полем (FIOID), куда записываются числовые данные из поля (ID) таблицы (FIO), второе числовое поле (SUM), где находятся суммы по кождой фамилии из первой таблицы. Каждая фамилия имеет много строк из таблицы (SUMT). Нужно посчитать суммы по каждой фамилии и вывести этот результат в ListBox. Запросы в этих таблицах не работают. |
|
#2
|
||||
|
||||
|
Код:
select a.foo, bar.sum from table a, (select sum(c.field) sum from table2 c where c.user=a.ID) bar Последний раз редактировалось M.A.D.M.A.N., 26.12.2012 в 13:56. |
|
#3
|
|||
|
|||
|
Спасибо большое но В этих таблицах запрос не работает.
|
|
#4
|
||||
|
||||
|
Выложи ER диаграмму своей базы.
Имена таблиц я привел произвольные, в качестве примера. |
|
#5
|
|||
|
|||
|
Код:
procedure TForm1.Button7Click(Sender: TObject);
Var summ: integer;
i : integer;
begin
SumT.Filter:= 'FIOID='+ fiot.FieldByName('ID').AsString;
SumT.Filtered:=true;
summ:=0;
while not SUMT.Eof do
begin
SUMT.Next;
while not fiot.Eof do
Begin
summ:=summ+ SUMT.FieldByName('sob').asinteger;
ListBox1.Items.Add(fiot.FieldByName('Fio').AsString+ ': '+ IntToStr(summ));
fiot.Next;
end;
end;
end;Последний раз редактировалось Admin, 27.12.2012 в 17:01. |
|
#6
|
||||
|
||||
|
ER диаграмму, а не исходник программы.
Подобная схема должна быть: ![]() Или "ER диаграмма? Не, не слышали."? |