Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / запрос с 2 таблиц / 9 сообщений из 9, страница 1 из 1
13.09.2006, 17:19
    #33985034
bdfy1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос с 2 таблиц
есть 2 таблицы, например: field и field_value. Нужно получить след. результат запроса:

field1 field_value1 field_value2 field_value3 field_value4 field_value5
field2 field_value6 field_value7 field_value8 field_value9 field_value10

и т. п. ...
( соотв. табл. field_value содержит id от табл. field )
можно это сделать одним запросом в PostgreSQL ? или прийдется потом програмно "доводить" ?
...
Рейтинг: 0 / 0
13.09.2006, 18:45
    #33985293
Poligon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос с 2 таблиц
ИМХО: одним запросом не получиться. Надо ХП писать.
...
Рейтинг: 0 / 0
14.09.2006, 05:01
    #33985778
Владимор Конев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос с 2 таблиц
Если количество различных field_value для каждого field конечно и заранее известно, то можно сделать и простым запросом.
А вот если количество field_value заранее неизвестно, то тут только программно формировать, причем на клиенте. Ведь по сути это так называемый "матричный" запрос (cross-tab). Многие клиенты умеют так делать специально для этого предназначенными компонентами...
...
Рейтинг: 0 / 0
14.09.2006, 10:26
    #33986184
Poligon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос с 2 таблиц
Владимор Конев
А вот если количество field_value заранее неизвестно, то тут только программно формировать, причем на клиенте.

А почему именно на клиенте? Ведь можно и на сервере - пишешь хранимую процедуру и приводишь к какому тебе надо виду.
...
Рейтинг: 0 / 0
14.09.2006, 10:34
    #33986212
pamir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос с 2 таблиц
Poligon Владимор Конев
А вот если количество field_value заранее неизвестно, то тут только программно формировать, причем на клиенте.

А почему именно на клиенте? Ведь можно и на сервере - пишешь хранимую процедуру и приводишь к какому тебе надо виду.
И что, хранимая процедура умеет возвращать разное число столбцов?
...
Рейтинг: 0 / 0
14.09.2006, 12:21
    #33986594
Poligon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос с 2 таблиц
pamir Poligon Владимор Конев
А вот если количество field_value заранее неизвестно, то тут только программно формировать, причем на клиенте.

А почему именно на клиенте? Ведь можно и на сервере - пишешь хранимую процедуру и приводишь к какому тебе надо виду.
И что, хранимая процедура умеет возвращать разное число столбцов?

В общем умеет. Можно например возвращать массив, а при выборке указывать индексы элементов, как разные столбцы и в результате вернется таблица.
...
Рейтинг: 0 / 0
14.09.2006, 15:30
    #33987655
bdfy1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос с 2 таблиц
Да в contribах PostgreSQL уже есть функции crosstab - как раз то что нужно.
...
Рейтинг: 0 / 0
29.09.2006, 19:04
    #34023424
atlantij
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос с 2 таблиц
А не расскажите ли подробнее, что такое "contribах PostgreSQL" ?
...
Рейтинг: 0 / 0
30.09.2006, 17:19
    #34024107
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос с 2 таблиц
atlantijА не расскажите ли подробнее, что такое "contribах PostgreSQL" ?

contrib - это некоторая библиотека, которая поставляется вместе с самой БД, но устанавливается по желанию. Смотри в share/contrib
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / запрос с 2 таблиц / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]