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 em http://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 em http://groups.google.com/group/flexdev
