Вниз
Скачать: CL | DM;

Можно ли упростить?   Найти похожие ветки 

← →
Кирей   (2006-07-24 12:09) [0]

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


← →
sniknik ©   (2006-07-24 12:17) [1]

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


← →
Кирей   (2006-07-24 12:28) [2]


> sniknik

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


← →
sniknik ©   (2006-07-24 12:40) [3]

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

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


← →
Sergey13 ©   (2006-07-24 13:07) [4]

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

А так нельзя?


← →
Кирей   (2006-07-24 14:52) [5]


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

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


← →
Johnmen ©   (2006-07-24 14:56) [6]

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


← →
Кирей   (2006-07-24 15:41) [7]


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

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


← →
Sergey13 ©   (2006-07-24 15:52) [8]

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

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


← →
Кирей   (2006-07-24 16:02) [9]

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


← →
Sergey13 ©   (2006-07-24 16:07) [10]

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


← →
Mike Kouzmine ©   (2006-07-24 18:17) [11]

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



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
4-1148160824
ychenick
2006-05-21 01:33
2006.09.24
WinApi FindNextFile


15-1157518297
Ega23
2006-09-06 08:51
2006.09.24
С Днём рождения! 6 сентября


3-1153895544
Андрей Пл
2006-07-26 10:32
2006.09.24
TClientDataSet максимальное количество полей


4-1148130409
sicilla
2006-05-20 17:06
2006.09.24
Запись в FAT32


2-1157466033
DeMiUrG
2006-09-05 18:20
2006.09.24
ошибка при работе с Excel




   Наверх