Olá Clayton, realizei o teste e obtive o seguinte erro: ORA-00936: expressão não encontrada
On 2 dez, 14:12, Clayton <[email protected]> wrote: > KKKKK. > > Analise o select. > Está mencionado apenas uma única tabela de times, apenas duas vezes com > alias diferente. > > tende executar pra vc ver. > > Em 2 de dezembro de 2010 13:56, Diego Feijó <[email protected]> escreveu: > > > > > 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 <[email protected]> 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 <[email protected] > > >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ó <[email protected]> > > 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 <[email protected]> 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ó <[email protected]> > > > > >> > > 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 <[email protected]> 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 <[email protected]> > > > >> 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 > > > >> > > > > [email protected] (MSN & Skype) > > > >> > > > > blogflex.brunobg.com > > > >> > > > > @brunogrohs > > > >> > > > > (21) 9913-2397 > > > > >> > > > > Em 2 de dezembro de 2010 09:04, Diego Feijó <[email protected] > > > > >> > > 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 > > > >> > > [email protected] > > > >> > > > >> Para sair da lista, envie um email em branco para > > > >> > > > >> [email protected] > > > >> > > > >> 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 > > > >> > > [email protected] > > > >> > > > > Para sair da lista, envie um email em branco para > > > >> > > > > [email protected] > > > >> > > > > 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 > > > >> [email protected] > > > >> > > Para sair da lista, envie um email em branco para > > > >> > > [email protected] > > > >> > > 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 > > [email protected] > > > >> Para sair da lista, envie um email em branco para > > > >> [email protected] > > > >> 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 [email protected] > > Para sair da lista, envie um email em branco para > > [email protected] > > 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 [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev
