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
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
Curtir tópico
+ 0
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
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
Clique aqui para fazer login e interagir na Comunidade :)