Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.20;
Скачать: CL | DM;

Вниз

Запрос суммы из кучи таблиц...   Найти похожие ветки 

 
Voldemar ©   (2002-05-11 19:48) [0]

Доброе время суток, Мастера!
Подскажите, плз, как мне поступить в такой ситуации:
есть N однотипных таблиц, каждой числовые поля F1, F2, F3.
Как мне сделать запрос, чтобы в результате получились 3 суммы каждого поля одельно из всех элементов всех таблиц?
Такая конструкция

Query1.SQL.Add("SELECT SUM(F1)F1, SUM(F2)F2, SUM(F3)F3 FROM "table1,table2,table3"");

почему-то не проходит... Что делать?


 
suds ©   (2002-05-11 23:19) [1]

union юзай...


 
Voldemar ©   (2002-05-12 00:02) [2]

suds © (11.05.02 23:19)
А он не юзается :((... Т.е. не помогает...
Конструкция
Query1.SQL.Add("SELECT SUM(F1)F1, SUM(F2)F2, SUM(F3)F3 FROM "table1"");
Query1.SQL.Add("UNION");
Query1.SQL.Add("SELECT SUM(F1)F1, SUM(F2)F2, SUM(F3)F3 FROM "table2"");
Query1.SQL.Add("UNION");
Query1.SQL.Add("SELECT SUM(F1)F1, SUM(F2)F2, SUM(F3)F3 FROM "table3"");

тоже результата не дает. Все отрабатывается без ошибок, но результатом запроса почему-то является результат только по Table2...


 
ghost_by ©   (2002-05-12 02:19) [3]

Привет Voldemar!
Все дело оказывается в ALL!

К примеру - есть 2 таблицы - TABL1, TABL2. В них обоих есть поля - c1, c2.

Поробуй такой запрос - SELECT SUM(с1)+SUM(c2)
FROM (SELECT * FROM TABL1 UNION ALL SELECT * FROM TABL2)


Насчет правильности или корявости - незнаю...

У меня сработало!


 
Evgeniy Sozonov   (2002-05-27 10:40) [4]

Привет. Вот тебе наиболее простой и правильный вариант. Конечно если тебя устроит результат в три записи.

SELECT SUM(F1)F1
FROM table1
UNION
SELECT SUM(F2)F2
FROM table2
UNION
SELECT SUM(F3)F3
FROM table3


С наилучшими пожеланиями.



Страницы: 1 вся ветка

Текущий архив: 2002.06.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
1-65136
Smok_er
2002-06-06 00:03
2002.06.20
CustomSort в Tstringlist


1-65025
insmod
2002-06-09 10:51
2002.06.20
Как передать событие?


1-65091
Валет
2002-06-06 20:03
2002.06.20
Как юзать эту функцию ?


3-64903
jaric
2002-05-24 18:48
2002.06.20
Какое ограничение на длину текста запроса в TADOQuery


3-64982
Jakob
2002-05-28 21:10
2002.06.20
Как отказаться от BDE