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

Как подставить имя таблицы через Select   Найти похожие ветки 

← →
Radimir ©   (2002-08-06 10:35) [0]

Господа, помогите с запросом. Надо в запросе типа:
Select Column1 from Table1
Table1 подставить как результат другого Select. Другими словами есть таблица содержащая имена других таблиц и надо их сначала выбрать оттуда, а затем выбрать из них.
Пробовал вместо Table1 подставлять подзапрос типа (Select Column2 from Table2 Where Column3 = ...), где в Column2 хранятся имена таблиц. Ничего не получилось. Пробовал сохранять Select имени таблицы в переменную и эту переменную потом подставлять после From. Тоже не пошло.
Я понимаю, что вопрос детский, но в Helpe ничего найти не удалось, поиск по сайту тоже ничего не дал. Пожалуйтс, если не трудно подскажите или хотя бы ссылку на это дайте.
Заранее благодарен.


← →
3JIA9I CyKA ©   (2002-08-06 10:40) [1]

select J.Jopa from (select p.Jopa from Popa p) as J
не прокатит?


← →
ЮЮ ©   (2002-08-06 10:42) [2]

Формировать текст запроса динамически, самому вставляя имена таблиц и полей, основываясь на результатах первого запроса


← →
Radimir ©   (2002-08-06 11:01) [3]

> 3JIA9I CyKA - он пишет:
ORA-00933: SQL command not properly ended

> ЮЮ надо попробовать (я пробовал в ХП сделать имя таблицы как входящий параметр - Oracle пишет, что INVALID :( ), но думаю в запросе должно заработать


← →
3JIA9I CyKA ©   (2002-08-06 11:43) [4]

Значит не покатит. Пример-то для TSQL


← →
Radimir ©   (2002-08-06 12:04) [5]

Большое спасибо, так все работает. Но все же интересно, а с помощью SQL можно сделать то же самое?


← →
dimis   (2002-08-06 12:38) [6]

Oracle вполне поймет запрос такого вида :
select * from (select col1 from table 1 where )
только не надо передавать в каческве параметра имя таблицы. Это в принципе можно сделать с помощью динамического SQL и хранимых процедур.
Но в твоем случае лучще просто самому составить Sql запрос на клиенте
Query.Add();



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

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



Память: 0.46 MB
Время: 0.01 c
1-85106
^Sanya
2002-08-13 13:24
2002.08.26
Определение типа носителя.


1-84960
msg
2002-08-15 13:49
2002.08.26
Помогите: можно ли сделать переменное колличество полей в ActiveX


7-85277
Timon
2002-06-10 15:00
2002.08.26
CPL


14-85200
Roma(c)
2002-07-31 00:41
2002.08.26
Книга


14-85232
V.exeR
2002-08-01 00:41
2002.08.26
На тему работы




   Наверх