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

Вниз

select from TQuery   Найти похожие ветки 

 
Demka   (2003-07-02 10:58) [0]

Задача: получить два набора данных.
Выполняем 2 селекта:

1. select field1, field2
from table1
where field1=value1

2. select field1, field2
from table1
where field1=value1
group by field1

Первый селект - Query1, второй - Query2.
А нельзя ли написать во втором селекте что-то типа:

2. select field1, field2
from Query1
group by field1


 
Johnmen ©   (2003-07-02 11:17) [1]

"Можность" определяется типом СУБД.
Или стесняешься его указать ? :)))


 
NickBat ©   (2003-07-02 13:28) [2]

Даже если можно, ЗАЧЕМ?


 
Rol   (2003-07-02 14:12) [3]

А мне интересно, field2 - агрегатное поле или запрос №2 - xeim? :)


 
Serginio   (2003-07-02 15:13) [4]

Можно используя MakePermanent cоздавая тем самым не TEMP таблицу (Tquery создает временную таблицу) и обращаться к ней как таблице.


 
Q   (2003-07-02 16:58) [5]

зачем во втором запросе GROUP BY field1,
если есть условие WHERE field1 = value
и нет агрегатных ф-ий. т.е. запрос1 = запрос2

вообще, где смысл таких манипуляций?


 
Demka   (2003-07-03 09:42) [6]

Ну хорошо, хорошо! Был неправ, вспылил.

To Johnmen: А какая разница, какая СУБД? Пусть будет например
Fox. И что?

To NickBat: Содержательно! НУЖНО! Я понимаю, что можно
реализовать все это и другими способами, я просто
спрашиваю можно ли ТАК сделать.

To Rol and Q: Да, согласен, запрос2 лишен смысла. Но это ведь
просто пример. Или вы хотите чтобы я весь запрос
закатал? Там практически то же самое, только полей
больше ;-)

Попробую объяснить по другому.
Есть прога на фоксе. Строится отчет. В нем множество промежуто-
чных итогов.
Скажем есть 3 поля: field1, field2, field3.
Надо все это вывести в отчет, попутно посчитав итоги с группиро-
вкой по field1, по field1 и field2, общую сумму.
Выводится это все в Excel.
1)Сначала делается выборка с группировкой по field1, field2 во
временную таблицу (в курсор если быть точным, хотя это и не
принципиально).

select field1, field2, sum(field3)
from OriginalTable
group by field1, field2
into cursor таблица1

2)Потом из этой временной таблицы делается выборка полей field2 и
field3 с группировкой по field2 опять же во временную таблицу

select field2, sum(field3)
from таблица1
group by field2
into cursor таблица2

из которой в свою очередь выбираем поле field3

select sum(field3)
from таблица2
into cursor таблица3

получая итоговую сумму.

Получаем 3 таблицы:
таблица1 - итоги по field1, field2
таблица2 - итоги по field2
таблица3 - общие итоги

Смысл? Не надо каждый раз дергать исходную таблицу, которая
может оказаться достаточно большой.


 
Oleg_E   (2003-07-03 09:46) [7]

Есть такой компанент TxQuery. Он может:

TxQuery component is a TDataSet descendant component that can be used to query one or more TDataSet descendant components using SQL statements. It is implemented in Delphi 100% source code, no DLL required, because it implements its own SQL syntax parser and SQL engine.



 
DenK_vrtz ©   (2003-07-03 09:47) [8]

Demka (03.07.03 09:42), а Johnmen © (02.07.03 11:17) абсолютно прав!!! У определенной СУБД, есть разные способы решения проблемы, которые могут не подходить для решения задач в другой СУБД


 
Demka   (2003-07-03 10:05) [9]

Господа и дамы!
Давайте проясним ситуацию.
Я НЕ спрашиваю КАК мне получить результат.
Я знаю КАК его получить несколькими разными способами.
Вопрос не в этом.
Вопрос в том можно ли получить его ИМЕННО ТАК.
Не как-то по другому, а именно ТАК.
Мне не нужны СПОСОБЫ решения моей задачи. Я ее УЖЕ решил другим
способом.

Я всего лишь хочу узнать:
select from TQuery - возможно или нет?

************************************
Query1, Query2: TQuery;

Query2.SQL = "select * from Query1"
************************************

Вот и все что я хочу узнать. Всего лишь.


 
DenK_vrtz ©   (2003-07-03 10:17) [10]

Demka (03.07.03 10:05),
если вопрос именно так стоит, то НЕТ!
А как ты, логически, себе это представляешь? :-)


 
Oleg_E   (2003-07-03 10:23) [11]

> Demka (03.07.03 10:05)
Можно, используя TxQuery.


 
Val ©   (2003-07-03 12:04) [12]

>Demka (02.07.03 10:58)
если используется BDE, то можно, используя local views



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

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

Наверх




Память: 0.49 MB
Время: 0.015 c
1-77900
mdsns
2003-07-10 12:53
2003.07.24
Действие при закрытии


6-78027
tytus
2003-05-16 18:07
2003.07.24
FastNet


1-77926
acsoft
2003-07-04 08:54
2003.07.24
---|Ветка была без названия|---


1-77931
Aleksandr
2003-07-10 15:47
2003.07.24
Как правильно вычислить координаты текста для потомка TLabel?


1-77932
OlegNOE
2003-07-10 15:30
2003.07.24
Рамка вокруг ячейки