Obrigado, Osvaldo! Era exatamente isso!

2008/7/15 Osvaldo Kussama <[EMAIL PROTECTED]>:

> 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
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Humberto Xis
[EMAIL PROTECTED]
http://xisberto.blogspot.com
http://ostelematicos.blogspot.com

"Sur la tuta tero estis unu lingvo kaj unu parlomaniero." - Gn 11,1
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a