задачка
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, спасибо подсказал куда копать
дык :)
Хотя с другой стороны у тебя скорее всего неверная модель или организация БД раз тебе приходится так вот извращатся. Я про имена таблиц в БД.
Да все у меня нормально...это я так сказать экспериментировал с увеличением скорости поиска по таблице(есть одна, но большая вот я и разбил на маленькие). Но оказалось, что ощутимых результатов это не принесло...(((
![Комментарии к "Ares: SQL" RSS-материал](/misc/feed.png)
Последние комментарии
9 лет 34 недели назад
10 лет 1 неделя назад
10 лет 11 недель назад
10 лет 12 недель назад
11 лет 1 неделя назад
11 лет 1 неделя назад
11 лет 1 неделя назад
11 лет 2 недели назад
11 лет 2 недели назад
11 лет 3 недели назад