Como faço para unir duas tabelas?

26/11/2007

0

Fiz assim mas quando retorna os valores no fastreport ele esta trazendo os valores duplicados além de fazer a soma incorreta.
query1:

SELECT Bdgrupo.Codigo,
sum(Bdvotos.Votos),
sum(Bdvotos.Pontos) as pontos
FROM ´BDGrupo.DB´ Bdgrupo,
´bdvotos.db´ Bdvotos
WHERE Bdgrupo.Codigo = Bdvotos.Codigo
group by Bdgrupo.´CODIGO´
UNION
SELECT Bdgrupo.Codigo,
SUM(DBEspecial.VOTOS),
sum(DBEspecial.PONTOS)
FROM ´BDGrupo.DB´ Bdgrupo, ´DBEspecial.db´ DBEspecial
WHERE Bdgrupo.Codigo = DBEspecial.Codigo
group by Bdgrupo.´CODIGO´
order by pontos DESC


preciso fazer a soma da quey1 com a query2, sendo que
código - nome - lider são valores iguais.
votos e pontuação são diferentes.

Agradeço a ajuda desde já!!
Sérgio


Motoqueiro10

Motoqueiro10

Responder

Posts

14/01/2008

Psergio.p

Você pode usar a sua query como subquery, mais ou menos isso:

SELECT Codigo,SUM(V) Votos, SUM(pontos) P FROM (
SELECT Bdgrupo.Codigo,
sum(Bdvotos.Votos) AS V,
sum(Bdvotos.Pontos) as pontos
FROM ´BDGrupo.DB´ Bdgrupo,
´bdvotos.db´ Bdvotos
WHERE Bdgrupo.Codigo = Bdvotos.Codigo
group by Bdgrupo.´CODIGO´
UNION
SELECT Bdgrupo.Codigo,
SUM(DBEspecial.VOTOS) AS V,
sum(DBEspecial.PONTOS) AS pontos
FROM ´BDGrupo.DB´ Bdgrupo, ´DBEspecial.db´ DBEspecial
WHERE Bdgrupo.Codigo = DBEspecial.Codigo
group by Bdgrupo.´CODIGO´) AS Q
GROUP BY Codigo

Me diga se deu certo!
Abraço


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar