Можно ли так построить запрос на PL/PGSQL?

RoLa

Новичок
Можно ли так построить запрос на PL/PGSQL?

Есть таблица с полями integer C_0, C_1, C_2,….. C_30. То есть некое значение по возрастанию от 0 – 30. Есть значение в переменной C_REAL.
Необходимо выбрать (сравнить) C_REAL со всеми C_0, ….. C _30 и узнать между какими С она находится.

Думаю если в массив одной строчкой выбрать все значения C, и просто прогнать этот цикл, но так и не понял можно ли загнать в массив эти C поля.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: RoLa
Есть таблица с полями integer C_0, C_1, C_2,….. C_30. То есть некое значение по возрастанию от 0 – 30. Есть значение в переменной C_REAL.
Необходимо выбрать (сравнить) C_REAL со всеми C_0, ….. C _30 и узнать между какими С она находится.
За такой дизайн БД надо премировать таблеточкой эвтаназии.
 

RoLa

Новичок
>neko
не для одной строки, заведомо известной.

>Sad Spirit Спасибо

Для базы из > 60 таблиц, уже глаза болят аж, ну сделал так, переделывать будет тяжелее.
 

neko

tеam neko
вобщем я незнаю простого способа сделать из row массив.

поэтому единственное что могу предложить, написать функцию типа
foo(int[], float)

и вызывать ее соотв.
select foo(array[c_1, c_2, ... ], c_real) from ...

-~{}~ 29.05.06 07:58:

насчет дизайна, я не люблю давать советы
т.к. чтобы дать нормальный совет, нужно вникать и разбираться что там и как

но вообще, да.
со стороны это выглядит черезвычайно криво.
возможно, лучше переделать.
чтобы потом не мучаться с этим.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: RoLa
Для базы из > 60 таблиц, уже глаза болят аж, ну сделал так, переделывать будет тяжелее.
тяжелее будет тому, кто за тобой это потом выгребать будет. Мне тут на PHP-конференции рассказывали страшное, про таблицу с 1000 полей в Postgres'е.
 
Сверху