2013-12-06 9 views
1

Мне нужно включить подкатегории в общие категории, у меня есть страница со списком всех категорий и подкатегорий, подкатегории имеют один массив категорий ex. cat = {10,17}, этот массив содержит идентификаторы общих категорий. Мне нужно объединить имена подкатегорий в общие категории. ex.Postgres join categories

cat_id = 1, -> general category ID 
name = 'Music', -> general category name 
subcats = {'Rock', 'Bla', 'Bla'} -> joined subcategories 

Этот список запросов всех категорий и подкатегорий

SELECT * FROM event.kat k ORDER BY k.kat_id 

Спасибо!

+0

у вас есть таблица подкатегорию? –

+0

У меня его нет, я не являюсь владельцем этой базы данных, но если бы я был, я бы создал таблицу с подкатегориями :( – Mladen

ответ

2

Вам следует реорганизовать вашу схему, если это возможно. Вначале я вижу по крайней мере три таблицы: категории, подкатегории и category_subcategory, которые действуют как таблица соединений между двумя первыми таблицами. В этом случае легко сделать «выбрать ... из категории join category_subcategory присоединиться к подкатегориям».

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

select ... 
from event.kat k 
     join <subcategories table> s 
     on k.kat_id = any (s.subcats) 
Смежные вопросы