powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / запрос с 2 таблиц
9 сообщений из 9, страница 1 из 1
запрос с 2 таблиц
    #33985034
bdfy1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть 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
запрос с 2 таблиц
    #33985293
Poligon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИМХО: одним запросом не получиться. Надо ХП писать.
...
Рейтинг: 0 / 0
запрос с 2 таблиц
    #33985778
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если количество различных field_value для каждого field конечно и заранее известно, то можно сделать и простым запросом.
А вот если количество field_value заранее неизвестно, то тут только программно формировать, причем на клиенте. Ведь по сути это так называемый "матричный" запрос (cross-tab). Многие клиенты умеют так делать специально для этого предназначенными компонентами...
...
Рейтинг: 0 / 0
запрос с 2 таблиц
    #33986184
Poligon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимор Конев
А вот если количество field_value заранее неизвестно, то тут только программно формировать, причем на клиенте.

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

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

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

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

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


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