Bruno não são 2 tabelas de times como você colocou times1 e times2 é
uma tabela chamada times. Mesmo alterando na segunda para "as time2" o
erro persiste.

Parece ser simples mas é bem chatinho de resolver, como falei a única
solução que encontrei é com sub-select.


On 2 dez, 13:26, Bruno Soares <bruno.soa...@gmail.com> wrote:
> ROOT.TIMES1.NOME AS TIME1,
>
> > ROOT.TIMES2.NOME AS TIME1,
>
> ai está o erro
>
> Coluna com o mesmo nome
>
> 2010/12/2 Diego Feijó <dfs...@ig.com.br>
>
>
>
> > Clayto, dessa forma já tentei e o oracle retorna um erro. ORA-00918:
> > coluna definida de maneira ambígua
>
> > On 2 dez, 13:08, Clayton <marquesclayt...@gmail.com> wrote:
> > > SELECT
> > >  ROOT.JOGOS.GOLS_TIME1,
> > >  ROOT.JOGOS.GOLTS_TIME2,
> > >  ROOT.TIMES1.NOME AS TIME1,
> > > ROOT.TIMES2.NOME AS TIME1,
> > > FROM
> > >  ROOT.JOGOS
> > >  INNER JOIN ROOT.TIMES1 ON (ROOT.TIMES1.ID_TIMES = ROOT.JOGOS.ID_TIME1)
> > > INNER JOIN ROOT.TIMES2 ON (ROOT.TIMES2.ID_TIMES = ROOT.JOGOS.ID_TIME2)
>
> > > Em 2 de dezembro de 2010 11:29, bruno bg <bruno...@ig.com.br> escreveu:
>
> > > > apesar dessa lista não ser de SQL, vc poderia colocar OFF-TOPIC.
>
> > > > então.
> > > > no inner join vc pode fazer dois INNER JOIN com as tabelas de TIME
> > > > e no final fazer um GROUP BY.
>
> > > > abraço
> > > > --
> > > > ****************************************************
> > > >www.brunobg.com
> > > > bruno...@ig.com.br  (MSN & Skype)
> > > > blogflex.brunobg.com
> > > > @brunogrohs
> > > > (21) 9913-2397
>
> > > > Em 2 de dezembro de 2010 09:04, Diego Feijó <dfs...@ig.com.br>
> > escreveu:
>
> > > > Bom dia Pessoal,
> > > >> ontem realizei minha prova de grau2 sobre banco de dados, porém tinha
> > > >> uma questão que está me deixando encucado, vou descrever ela aqui e
> > > >> gostaria de ver quais as soluções que vocês dariam.
>
> > > >> Vamos lá.
>
> > > >> Tenho 2 tabelas Times e Jogos. Na tabela de times tenho os seguintes
> > > >> fields TIMES(id_time,nome). Na tabela de jogos tenho JOGOS(id_jogo,
> > > >> idtime1, idtime2, gols_time1, gols_time2).
>
> > > >> Na tabela de jogos tenho 2 relacionamentos para a tabela de times. Na
> > > >> prova utilizei um sub-select para fazer o segundo relacionamento,
> > > >> conforme abaixo. Neste caso ele me traz 1 registro com os 2 times e os
> > > >> gols de cada time, tudo certinho.
>
> > > >> SELECT
> > > >>  ROOT.JOGOS.GOLS_TIME1,
> > > >>  ROOT.JOGOS.GOLTS_TIME2,
> > > >>  ROOT.TIMES.NOME AS TIME1,
> > > >>  (SELECT ROOT.TIMES.NOME FROM JOGOS INNER JOIN ROOT.TIMES ON
> > > >> (ROOT.TIMES.ID_TIMES = JOGOS.ID_TIME2)) AS TIME2
> > > >> FROM
> > > >>  ROOT.JOGOS
> > > >>  INNER JOIN ROOT.TIMES ON (ROOT.TIMES.ID_TIMES = ROOT.JOGOS.ID_TIME1)
>
> > > >> Porém na hora de entregar a prova ao professor ele me disse que não
> > > >> era necessário utilizar o sub-select, somente com inner join
> > > >> funcionaria.
> > > >> Cheguei agora no trampo e fiz o teste, somente com inner join como ele
> > > >> falou, porém me traz 2 registros com os 2 times mas com os gols
> > > >> duplicados, ficando errado conforme enunciado da prova.
>
> > > >> Pergunto a vocês teria outra forma de fazer essa questão?
>
> > > >> Obrigado desde já
> > > >> Diego Feijó.
>
> > > >> --
> > > >> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > > >> Para enviar uma mensagem, envie um e-mail para
> > flexdev@googlegroups.com
> > > >> Para sair da lista, envie um email em branco para
> > > >> flexdev-unsubscr...@googlegroups.com
> > > >> Mais opções estão disponíveis emhttp://
> > groups.google.com/group/flexdev
>
> > > > --
> > > > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > > > Para enviar uma mensagem, envie um e-mail para
> > flexdev@googlegroups.com
> > > > Para sair da lista, envie um email em branco para
> > > > flexdev-unsubscr...@googlegroups.com
> > > > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev
>
> > > --
> > > Clayton Marques Pereira
>
> > --
> > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> > Para sair da lista, envie um email em branco para
> > flexdev-unsubscr...@googlegroups.com
> > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev
>
> --
> Bruno Soareshttp://www.brunosoares.com

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a