Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.009 c
6-78032
zhe
2003-05-16 03:34
2003.07.24
MAPI


8-78003
reticon
2003-04-03 22:31
2003.07.24
опять медиаплеер :(((((((


1-77882
Supra
2003-07-13 23:12
2003.07.24
Загрузка изображений из ресурсов


3-77801
chexum
2003-07-02 15:53
2003.07.24
Обработка ошибок ADO


1-77946
Erik
2003-07-10 16:30
2003.07.24
В чем отличия CallBack для DCOM и Borland Socket Server?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский