Em 15/07/08, Xisberto<[EMAIL PROTECTED]> escreveu:
> Olá a todos.
>
> Tenho pouca experiência com SQL em geral, estou querendo aprender. Acabei de
> entrar na lista porque não consigo realizar uma consulta. Não sei nem como
> procuro no google pela solução do problema (não sei que palavras-chave
> usar).
>
> Explicando melhor:
>
> Estou fazendo um banco para catalogar coleções de cartas de um jogo. Neste
> jogo existem 5 cores e cada carta pode ter entre 0 e 5 cores. Para
> representar isso, após alguma pesquisa, fiz 3 tabelas:
>
> _____
> mtg_collection=# \d cards
> Table "public.cards"
> Column | Type | Modifiers
> ------------+------------------------+------------------------------------------------------
> code | integer | not null default
> nextval('cards_code_seq'::regclass)
> name | character varying(100) | not null
> portuguese | character varying(100) |
> Indexes:
> "cards_pkey" PRIMARY KEY, btree (code)
> "cards_name_key" UNIQUE, btree (name)
> "cards_portuguese_key" UNIQUE, btree (portuguese)
>
> _____
> mtg_collection=# \d colors
> Table "public.colors"
> Column | Type | Modifiers
> ------------+-----------------------+-------------------------------------------------------
> code | integer | not null default
> nextval('colors_code_seq'::regclass)
> name | character varying(15) | not null
> portuguese | character varying(15) | not null
> Indexes:
> "colors_pkey" PRIMARY KEY, btree (code)
> "colors_name_key" UNIQUE, btree (name)
> "colors_portuguese_key" UNIQUE, btree (portuguese)
>
> _____
> mtg_collection=# \d colors_for_card
> Table "public.colors_for_card"
> Column | Type | Modifiers
> --------+---------+---------------------------------------------------------------
> code | integer | not null default
> nextval('color_for_card_code_seq'::regclass)
> color | integer |
> card | integer |
> Indexes:
> "color_for_card_pkey" PRIMARY KEY, btree (code)
> Foreign-key constraints:
> "color_for_card_card_fkey" FOREIGN KEY (card) REFERENCES cards(code)
> "color_for_card_color_fkey" FOREIGN KEY (color) REFERENCES colors(code)
>
> Esta terceira tabela serve para relacionar as duas principais. Eu gostaria
> de saber se existe como em uma única consulta sql retornar cara carta em uma
> linha, listando todas as cores dela.
>
> Não precisa escrever o select aqui, gostaria de sugestões de sintaxe a usar
> e de onde pesquisar sobre sintaxe sql.
>
Dê uma olhada no módulo contrib/tablefunc.
Creio que a função crosstab é exatamente o que procura.
http://www.postgresql.org/docs/8.3/interactive/tablefunc.html
Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral