Clayton, não são 2 tabelas de times é uma tabela de times e 1 tabela de jogos, porém a tabela de jogos tem 2 ligações com a tabela de times.
Conforme primeiro post. 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). On 2 dez, 13:44, Clayton <marquesclayt...@gmail.com> wrote: > Correção: > > SELECT > ROOT.JOGOS.GOLS_TIME1, > ROOT.JOGOS.GOLTS_TIME2, > time_1.NOME AS TIME1, > time_2.NOME AS TIME2, > FROM > ROOT.JOGOS > INNER JOIN ROOT.TIMES AS time_1 ON (time_1.ID_TIMES = ROOT.JOGOS.ID_TIME1) > INNER JOIN ROOT.TIMES AS time_2 ON (time_2.ID_TIMES = ROOT.JOGOS.ID_TIME2) > > Em 2 de dezembro de 2010 13:42, Clayton <marquesclayt...@gmail.com>escreveu: > > > > > Diego, > > > O select abaixo funcionou perfeitamente aqui no oracle 10g. > > > SELECT > > ROOT.JOGOS.GOLS_TIME1, > > ROOT.JOGOS.GOLTS_TIME2, > > time_1.NOME AS TIME1, > > time_2.NOME AS TIME2, > > FROM > > ROOT.JOGOS > > INNER JOIN ROOT.TIMES1 AS time_1 ON (time_1.ID_TIMES = ROOT.JOGOS.ID_TIME1) > > INNER JOIN ROOT.TIMES2 AS time_2 ON (time_2.ID_TIMES = ROOT.JOGOS.ID_TIME2) > > > Em 2 de dezembro de 2010 13:30, Diego Feijó <dfs...@ig.com.br> escreveu: > > > 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 emhttp://groups.google.com/group/flexdev > > > -- > > Clayton Marques Pereira > > -- > 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 em http://groups.google.com/group/flexdev