Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Можно ли упростить? [D7, Paradox]


Кирей ©   (2006-07-24 12:09:00) 

У меня есть несколько запросов типа:
1 запрос
select distinctdiametr, sum(dlin)
from"dataset.db"
wherepriznak=1
group bydiametr
2 запрос
select distinctdiametr, sum(dlin)
from"dataset.db"
wherepriznak=2
group bydiametr
3 и т.д
далее с сохраняю результаты запросов в таблице и выполняю результирующий запрос, в котором получаю все суммы,  таблицы связываю по полю diametr


Mike Kouzmine   (2006-07-24 18:17:00) [1]

Кирей   (24.07.06 16:02) [9] Можно "вьюшки" (текст. файл с запросом) использовать.


Sergey13   (2006-07-24 16:07:00) [2]

2 [9] Кирей   (24.07.06 16:02)
>Просто хотелось бы знать, можно ли сделать проще, чем сделал я.
Вариант [4] упрощает твои запросы (1 вместо 9). Что ты делаешь дальше никто не знает. Может и можно упростить, может и нет.


Кирей   (2006-07-24 16:02:00) [3]

Просто хотелось бы знать, можно ли сделать проще, чем сделал я. Может можно использовать результаты выполнения нескольких Query в одном результирующем без сохранения во внешние таблицы, может другие пути.


Sergey13   (2006-07-24 15:52:00) [4]

2 [7] Кирей   (24.07.06 15:41)
> Пользователь должен увидеть что у него есть в удобном для него виде

Этим и занимаются программисты.


Кирей   (2006-07-24 15:41:00) [5]


> Причём тут отражение

Пользователь должен увидетьчто у него есть в удобном для него виде


Johnmen   (2006-07-24 14:56:00) [6]

Причём тут отражение??????????????


Кирей   (2006-07-24 14:52:00) [7]


> А так нельзя?

Нет, в этом случае все равно в dbgride не отразится в нужном виде


Sergey13   (2006-07-24 13:07:00) [8]

select priznak, diametr, sum(dlin)
from "dataset.db"
group by priznak, diametr

А так нельзя?


sniknik   (2006-07-24 12:40:00) [9]

> а надо примерно так:
в localsql так не получится (имхо, не работаю с ним, было бы что другое...), но зато у тебя получится одна таблица вместо 9-и, можеш финальное обьеденение делать саму с собой.

и лучше не union, лучше изменить групировку, и отработает быстрее и priznak будет нужен при результирующем обьеденении.


Кирей   (2006-07-24 12:28:00) [10]


> sniknik

Пробовал union, выдает все в один столбик, а надо примерно так:
диаметр   длинна 1   длинна 2   длинна 3 ... (всего 9 шт)
_______________________________________________
15              150          0               10             ...
20              200          25             500            ...


sniknik   (2006-07-24 12:17:00) [11]

distinct тут не нужен, т.к. group by все одно только одно значение сделает.
обьеденить результаты запросов можно с помощью unuon [all] (F1)
и если таблица дальше также одна, и priznak так и дальше изменяется, то можно просто включить его дополнительно в группировку и обойтись вообще одним запросом.


Наверх

Титульная страница Поиск, карта сайта Написать письмо