Форум: "Базы";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];
ВнизКак подставить имя таблицы через 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 вся ветка
Форум: "Базы";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c