![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как подставить имя таблицы через Select [D6, Oracle]
Radimir © (2002-08-06 10:35:00)Господа, помогите с запросом. Надо в запросе типа:
Select Column1 from Table1
Table1 подставить как результат другого Select. Другими словами есть таблица содержащая имена других таблиц и надо их сначала выбрать оттуда, а затем выбрать из них.
Пробовал вместо Table1 подставлять подзапрос типа (Select Column2 from Table2 Where Column3 = ...), где в Column2 хранятся имена таблиц. Ничего не получилось. Пробовал сохранять Select имени таблицы в переменную и эту переменную потом подставлять после From. Тоже не пошло.
Я понимаю, что вопрос детский, но в Helpe ничего найти не удалось, поиск по сайту тоже ничего не дал. Пожалуйтс, если не трудно подскажите или хотя бы ссылку на это дайте.
Заранее благодарен.
dimis (2002-08-06 12:38:00) [1]Oracle вполне поймет запрос такого вида :
select * from (select col1 from table 1 where )
только не надо передавать в каческве параметра имя таблицы. Это в принципе можно сделать с помощью динамического SQL и хранимых процедур.
Но в твоем случае лучще просто самому составить Sql запрос на клиенте
Query.Add();
Radimir (2002-08-06 12:04:00) [2]Большое спасибо, так все работает. Но все же интересно, а с помощью SQL можно сделать то же самое?
3JIA9I CyKA (2002-08-06 11:43:00) [3]Значит не покатит. Пример-то для TSQL
Radimir (2002-08-06 11:01:00) [4]> 3JIA9I CyKA - он пишет:
ORA-00933: SQL command not properly ended
> ЮЮ надо попробовать (я пробовал в ХП сделать имя таблицы как входящий параметр - Oracle пишет, что INVALID :( ), но думаю в запросе должно заработать
ЮЮ (2002-08-06 10:42:00) [5]Формировать текст запроса динамически, самому вставляя имена таблиц и полей, основываясь на результатах первого запроса
3JIA9I CyKA (2002-08-06 10:40:00) [6]select J.Jopa from (select p.Jopa from Popa p) as J
не прокатит?