задачка
select * from (select c1 from t where c=$c) as a
Вобщем так, внутренний селект возвращает имя таблицы, из которой я потом хочу забрать все записи(внешний селект)...такая конструкция возвращает имя таблицы и после внешнего селекта. Т.е. нужно дать понять внешнему селекту что после from идет имя таблицы...
Кто знает как решить проблему? Хоть идейку подкиньте, а то уже голова идет кругом!!! Головоломка какая-то!
Ares: SQL
движек какой? Насколько я поню надо смотреть в сторону exec и лепить запрос типа exec "select * from " | cast((select c1 from t where c=$c) as varchar (30))
Чтото типа того короч....
Только гляди, твой селект имни таблицы в этом случае ОБЯЗАН вернуть 1 значение
<span class='smallblacktext'>[ Редактирование 04.08.2005 - 14:28:06 ]</span>
на plpgsql
так не получается...это тоже самое что и я написал...возвращает имя таблицы...есть еще предложения???
Ты видно мысль не понял - тебе надо собрать _строку_ запроса и выполнить ее
да все я понял...не получается так в plpgsqlе....
разбей на 2 запроса один за одним и посмотри в каком запросе что не так идет
выведи отладочную информацию
[quote=Ares]да все я понял...не получается так в plpgsqlе....[/quote]
Получается. Хотя надо бы подумать об изменении дизайна базы.
<span class='smallblacktext'>[ Редактирование 04.08.2005 - 20:31:42 ]</span>
Все получилось...нет структуру я специально изменил чтоб поиск по базе быстрее происходил
[quote=Ares]Все получилось...нет структуру я специально изменил чтоб поиск по базе быстрее происходил[/quote]
как сделал?
как ты сказал, так и сделал
t:=(SELECT rubrlist FROM _rubr WHERE iam=i_am AND who=w_ho limit 1);
t:=replace (t,',',' union select * from _');
t2:='select * from _'||t;
FOR result IN EXECUTE t2
loop return next result;
END loop;
return;
Просто в pgAdmine help по-странному сделан, пока что нибудь найдешь...еще стольким вещам научишься))))
Sheridan, спасибо подсказал куда копать
дык :)
Хотя с другой стороны у тебя скорее всего неверная модель или организация БД раз тебе приходится так вот извращатся. Я про имена таблиц в БД.
Да все у меня нормально...это я так сказать экспериментировал с увеличением скорости поиска по таблице(есть одна, но большая вот я и разбил на маленькие). Но оказалось, что ощутимых результатов это не принесло...(((

Последние комментарии
10 лет 22 недели назад
10 лет 41 неделя назад
10 лет 51 неделя назад
10 лет 51 неделя назад
11 лет 40 недель назад
11 лет 40 недель назад
11 лет 41 неделя назад
11 лет 41 неделя назад
11 лет 42 недели назад
11 лет 43 недели назад