Поскажите как составить агрегатный запрос.

xpavel86
Дата: 04.11.2009 23:50:59
Пишу базу в делфи.
Мне нужно просуммировать все значения в починненой таблице и сумму присвоить в запись соответствующей главной, пытаюсь делать агрегатное поле - SELECT SUM(calc) from tabl2 where tabl2.key_id = tabl1.key, но возникает. ошибка. не определен. key.
Владимир Саныч
Дата: 05.11.2009 00:14:18
А как это Вы ссылаетесь на поле таблицы tabl1, не включив эту таблицу в запрос?
xpavel86
Дата: 05.11.2009 00:26:38
Да, действительно поле содержащее ключ не включил. Теперь справил, все равно какая то ерунда получается, Суммируется не правильно.
Вот так работает не правильно
select sum(vsego) from arenda2, arenda
where key_no = arenda.key

А когда индекс связи подставляешь вручную, правильно
select sum(vsego) from arenda2, arenda
where key_no = 1

И еще подскажите пожалуйста, как результат запроса подставить в вычисляемое поле Clalc
так наверна
Дата: 05.11.2009 03:17:15
xpavel86
....
И еще подскажите пожалуйста, как результат запроса подставить в вычисляемое поле Clalc

вместо АдоТайбл1 надо использовать АдоКвери с таким запросом
SELECT Arenda.key, Arenda.Name, Sum(arenda2.Vsego) AS Calc
FROM arenda2 INNER JOIN Arenda ON arenda2.key_no = Arenda.key
GROUP BY Arenda.key, Arenda.Name;
так лучче
Дата: 05.11.2009 08:50:27
SELECT Arenda.key, Arenda.Name, Sum(arenda2.Vsego) AS Calc
FROM arenda2 RIGHT JOIN Arenda ON arenda2.key_no = Arenda.key
GROUP BY Arenda.key, Arenda.Name;
xpavel86
Дата: 07.11.2009 19:02:42
Guest спасибо тебе, работает как надо!!!