Pessoal alguem ai mim ajuda aqui, preciso saber como usar UNION e CASE em umas questoes de banco de dados 2…
Tenho essa questao aqui mais preciso entende-la , pois nao foi eu que fiz…
/*Recupere todos os campeonatos onde o "Flamengo" e o "Fluminense" se
enfrentaram. A resposta deve conter o campeonato, a data onde o
jogo ocorreu, o nome e a classificação da equipe vencedora.*/
select c.dsc_camp as [Nome do Campeonato]
, j.data as [Data]
,
case j.resultado
when '1' then t1.nom_time
when '2' then t2.nom_time
when '0' then 'Empate'
else 'Não realizado'
end as Vencedor,
case j.resultado
when '1' then p1.classif
when '2' then p2.classif
else null
end as Classificação
from campeonatos c
, jogos j
, times t1
, participacoes p1
,times t2
, participacoes p2
where ( c.cod_camp = j.cod_camp ) and
( j.cod_time1 = t1.cod_time and
t1.cod_time = p1.cod_time and
p1.cod_camp = c.cod_camp
) and
( j.cod_time2 = t2.cod_time and
t2.cod_time = p2.cod_time and
p2.cod_camp = c.cod_camp
) and
( ( t1.nom_time = 'FLAMENGO' and
t1.uf_time = 'RJ'
) or
( t1.nom_time = 'FLUMINENSE' and
t1.uf_time = 'RJ'
)
) and
( ( t2.nom_time = 'FLAMENGO' and
t2.uf_time = 'RJ'
) or
( t2.nom_time = 'FLUMINENSE' and
t2.uf_time = 'RJ'
)
)
order by c.dsc_camp, j.data