Re: Categories and subcategories : more details

Поиск
Список
Период
Сортировка
От Josh Berkus
Тема Re: Categories and subcategories : more details
Дата
Msg-id 3AB796B8.AD87AE95@agliodbs.com
обсуждение исходный текст
Ответ на Categories and subcategories : more details  ("Rachel Coin" <rachel@derniere-minute.org>)
Список pgsql-sql
Rachel,
See below:

> Examples :
> 
> table CATEG :
> ida     categ
>  1        X
>  2        Y
>  3        Z
> 
> table SUBCATEG :
> idb     subcateg      ida
> 1           x1             1
> 2           x2             1
> 3           x3             1
> 4           x4             1
> 5           y1             2
> 6           y2             2
> 7           z1             3
> 
> I 'd like to obtain a table with maximum 2 subcateg per categ :
> 
> table result :
> 
> categ     subcateg
>   X           x1
>   X           x2
>   Y           y1
>   Y           y2
>   Z           z1
> 
Without LIMIT in subselects, you're in performance hell as far as doing
the above is concerned.  Frankly, I can't see any way to do it that
doesn't involve a PL/pgSQL procedure that generates a temporary table,
and has to run once for every row in your result set.  I'll post code
later if nobody comes up with a better solution.
If you knew all of your categories in advance, you could do this via an
annoying UNION statement.  I'm assuming, however, that it needs to be
dynamic.

-Josh Berkus


-- 
______AGLIO DATABASE SOLUTIONS___________________________                                       Josh Berkus  Complete
informationtechnology      josh@agliodbs.com   and data management solutions       (415) 565-7293  for law firms, small
businesses      fax  621-2533   and non-profit organizations.       San Francisco
 


В списке pgsql-sql по дате отправления:

Предыдущее
От: "Rachel Coin"
Дата:
Сообщение: Categories and subcategories : more details
Следующее
От: Cedar Cox
Дата:
Сообщение: triggered data change violation