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

Вниз

Как выполнить запрос из результата запроса   Найти похожие ветки 

 
rusa   (2003-02-04 13:55) [0]

Всем доброго дня!
Ребяты, я столкнулся со следующей проблемой:
Выбираю данные из ORACLE 8.1.7.4, но мне необходимо ёще
и проселектить имеющиеся данные от первого запроса. Я
не хочу создавать временных таблиц. Может кто знает способ
как это сделать? Работаю через BDE, но при выполнении второго
запроса BDE ищет файл в директории с exe-файлом. Конечно же его
там нет --> Ошибка: нет файла ..... и все стандартные расширения.

Я узнал способ, что можно с помощью SQL Explorer написать запрос
и сохранить его в папке с exe-файлом, а потом делать выборку из этого sql-файла. Он автоматически вернет данные и мой селект уже выберет из них. Но, мне такая схема не нравится. Должен же быть какой-то способ, что бы выбирать из уже выполненных селектов.

Если кто знает, поделитесь пожалуйста своим опытом!!!

:-)


 
AlexSerp   (2003-02-04 14:07) [1]

select ... from (select ... from ...)
не помогает?

Саня


 
passm   (2003-02-04 14:07) [2]

rusa (04.02.03 13:55)> В твоем вопросе вижу переплетение:
1. TQuery.SQL.SaveToFile & TQuery.SQL.LoadFromFile - сомневаюсь, что ты спрашиваешь об этом, но напрашивается...
2. Если необходимо выполнить запрос над запросом, то
SELECT Q1.*, Q2.*
FROM (SELECT...) AS Q1(FIELD1, FIELD2...)
INNER JOIN Q2 ON (Q1.FIELD1 = Q2.FIELD1)
Это, разумеется, схема.


 
rusa   (2003-02-04 14:13) [3]

<-- select ... from (select ... from ...) -->

Конечно, вложенный селект сделает своё дело. Мне просто в целях
экономии ресурсов сервера БД хотелось бы не выполнять то, что можно сделать 1 раз и уже локально с этим работать.


 
AlexSerp   (2003-02-04 14:14) [4]

В таком случае не использовать ли TClientDataSet?

Саня


 
rusa   (2003-02-04 14:18) [5]

А можно ли из TClientDataSet потом выбирать с помощью TQuery без применения всяких ухищрений?


 
passm   (2003-02-04 14:23) [6]

AlexSerp © (04.02.03 14:14)> Не подходит. Он SELECT над ним хочет делать.
rusa (04.02.03 14:13)> Получается, что тебе придется создавать локальные копии данных (DBase, Paradox...) и выполнять запрос над ними. Иначе, если делать запрос над двумя БД, то исполняться он будет на клиенте, что, мягко говоря, нехорошо. Ты уверен, что получишь экономию ресурсов?
IMHO надо идти по пути оптимизации БД и запросов, если хочешь экономить ресурсы.


 
AlexSerp   (2003-02-04 14:27) [7]

Дык, можно потом на том НД все получить с помощью фильтров.
И вроде как TClientDataSet позволяет сохранять данные на локальном диске.

Саня


 
passm   (2003-02-04 14:31) [8]

AlexSerp © (04.02.03 14:27)> SQL и фильтра на НД - разные вещи.
Сохранишь ты данные на локальном диске. Но Oracle как ты его подсунешь?


 
ShuraGrp   (2003-02-04 15:31) [9]

Можно попробовать что-то типа virtual table. В RX и ODAC есть такие компоненты.



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

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

Наверх




Память: 0.46 MB
Время: 0.006 c
14-63833
Kotka
2003-02-03 00:34
2003.02.20
Дайджесты


14-63820
shusha
2003-02-04 14:46
2003.02.20
CoolTrayIcon v.4.0.1


14-63801
UnDISCOvery
2003-02-03 11:44
2003.02.20
MIDAS (DataSnap). Альтернатива Borland Socket Server ?


7-63875
dm_
2002-12-22 18:30
2003.02.20
Как обращаться к портам ввода-вывода в Kylix?


4-63906
Scorp
2003-01-08 21:53
2003.02.20
Програмное выполнение команды через командную строку





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский