![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос суммы из кучи таблиц... [D6, Paradox]
Voldemar © (2002-05-11 19:48:00)Доброе время суток, Мастера!
Подскажите, плз, как мне поступить в такой ситуации:
есть N однотипных таблиц, каждой числовые поля F1, F2, F3.
Как мне сделать запрос, чтобы в результате получились 3 суммы каждого поля одельно из всех элементов всех таблиц?
Такая конструкция
Query1.SQL.Add("SELECT SUM(F1)F1, SUM(F2)F2, SUM(F3)F3 FROM "table1,table2,table3"");
почему-то не проходит... Что делать?
Evgeniy Sozonov (2002-05-27 10:40:00) [1]Привет. Вот тебе наиболее простой и правильный вариант. Конечно если тебя устроит результат в три записи.
SELECT SUM(F1)F1
FROM table1
UNION
SELECT SUM(F2)F2
FROM table2
UNION
SELECT SUM(F3)F3
FROM table3
С наилучшими пожеланиями.
ghost_by (2002-05-12 02:19:00) [2]Привет Voldemar!
Все дело оказывается в ALL!
К примеру - есть 2 таблицы - TABL1, TABL2. В них обоих есть поля - c1, c2.
Поробуй такой запрос - SELECT SUM(с1)+SUM(c2)
FROM (SELECT * FROM TABL1 UNION ALL SELECT * FROM TABL2)
Насчет правильности или корявости - незнаю...
У меня сработало!
Voldemar (2002-05-12 00:02:00) [3]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...
suds (2002-05-11 23:19:00) [4]union юзай...