un problema

20/05/2004 - 15:34 por Jorge Luis Medrano | Informe spam
Muy buenas a todos

Últimamente he estado con muchas consultas, y bueno... nuevamente vengo
con una un poco extraña para mí, la cual puede tener una solución fácil...
pero bueno... esta es mi consulta:

Estoy generando una balanza comercial, la cual tiene unos números de
cuentas en base a un select, el cual hace join con dos tablas: importación y
exportación, cree las dos tablas temporales sumarizadas por cuentas, y el
problema es que en exportacion me aparecen 1263 filas, y en importacion 1202
y cuando corro el query, me aparecen 1204, lo que por lógica no me toma las
que solo tienen importación, o solo exportación.

Hay alguna forma de que aparezcan esas cuentas???

el código es este:


select anyo,t_valor,capitulo, sum(valor) val
into #SumSacI
from importacion
group by anyo, t_valor, capitulo
order by anyo, t_valor, capitulo

select anyo,t_valor,capitulo, sum(valor) val
into #SumSacE
from exportacion
group by anyo, t_valor, capitulo
order by anyo, t_valor, capitulo

select i.anyo, i.t_valor, i.capitulo, e.val vale, i.val vali
from #SumSacI i right outer join #SumSacE e --, capitulos c
where (e.anyo = i.anyo) and (e.t_valor = i.t_valor) --and (c.capitulo e.capitulo) and (c.capitulo = i.capitulo)
order by e.anyo, e.t_valor, e.capitulo

drop table #SumSacI
drop table #SumSacE

go

Preguntas similare

Leer las respuestas

#1 poker
20/05/2004 - 16:10 | Informe spam
Prueba con "full join"
Esto te devolverá todas las filas de las dos tablas, existan o no en la otra
tabla.

"Jorge Luis Medrano" escribió en el mensaje
news:
Mostrar la cita
vengo
Mostrar la cita
y
Mostrar la cita
1202
Mostrar la cita
las
Mostrar la cita
#2 Javier Loria
20/05/2004 - 17:43 | Informe spam
Hola:
Prueba con algo como:
=SELECT COALESCE(Imp.anyo, Exp.anyo)
, COALESCE(Imp.t_valor, Exp.t_valor)
, COALESCE(Imp.capitulo, Exp.capitulo)
, COALESCE(Exp.Val, 0)
, COALESCE(Imp.Val, 0)
FROM (SELECT anyo
, t_valor
, capitulo
, sum(valor) AS val
FROM importacion
GROUP BY anyo, t_valor, capitulo) AS Imp
FULL OUTER JOIN
(SELECT anyo
, t_valor
, capitulo
, sum(valor) AS val
FROM exportacion
GROUP BY anyo, t_valor, capitulo) AS Exp
ON Imp.anyo = Exp.anyo
AND Imp.t_valor = Exp.t_valor
AND Imp.capitulo= Exp.capitulo
= De paso quitas las tablas temporales. Esta sin probar por lo que puede
ser que tenga problemas de sintaxis.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.


Jorge Luis Medrano escribio:
Mostrar la cita
Ads by Google
Search Busqueda sugerida