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

Responder a