Array
(
)

Como faço para unir duas tabelas?

Motoqueiro10
   - 26 nov 2007

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

Psergio.p
   - 14 jan 2008

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