Primero que nada elimine 2 datos el Nombre y SegNeg ya que me movia toda la informacion lo demas le puse una separacion
Primera consulta:
WHERE Fecha BETWEEN '20121001' and '20121007'
Cita:
Segunda consulta:Fecha NumCta Cargo Abono Sando_Inicial
2012-10-02 00:00:00.000 / 10120011700 / 2147777,64 / 2147777,61 /0,0300000002607703
2012-10-02 00:00:00.000 / 10520031000 / 77267,93 / 337880,74 /-260612,81
2012-10-02 00:00:00.000 / 10520074700 / 248216,19 / 1147916,47 /-899700,28
2012-10-02 00:00:00.000 / 10120011700 / 2147777,64 / 2147777,61 /0,0300000002607703
2012-10-02 00:00:00.000 / 10520031000 / 77267,93 / 337880,74 /-260612,81
2012-10-02 00:00:00.000 / 10520074700 / 248216,19 / 1147916,47 /-899700,28
WHERE Fecha BETWEEN '20120910' and '20120930'
Cita:
Realize un union all pero no me los une de la manera que deseo esto es lo que realiza:Fecha NumCta Cargo Abono Sando_Inicial
2012-09-13 00:00:00.000 / 11250001500 / 166,14 / 0 / 166,14/
2012-09-13 00:00:00.000 / 11710009800 / 0 / 63664,16 /-63664,16
2012-09-13 00:00:00.000 / 20338000200 / 2090 / 0 / 2090
2012-09-13 00:00:00.000 / 11250001500 / 166,14 / 0 / 166,14/
2012-09-13 00:00:00.000 / 11710009800 / 0 / 63664,16 /-63664,16
2012-09-13 00:00:00.000 / 20338000200 / 2090 / 0 / 2090
WHERE Fecha BETWEEN '20120910' and '20120930'
Cita:
Fecha NumCta Cargo Abono Sando_Inicial
2012-09-13 00:00:00.000/ 11250001500 /166,14 / 0 / 166,14
/
2012-09-13 00:00:00.000/ 11710009800 /0 / 63664,16 / -63664,16/
2012-09-13 00:00:00.000/ 20338000200/ 2090/ 0 / 2090/
2012-10-02 00:00:00.000/ 10120011700 /2147777,64 / 2147777,61 / 0,0300000002607703
2012-10-02 00:00:00.000/ 10520031000 /77267,93/ 337880,74 / -260612,81
2012-10-02 00:00:00.000/ 10520074700/ 248216,19/ 1147916,47 / -899700,28
2012-09-13 00:00:00.000/ 11250001500 /166,14 / 0 / 166,14
/
2012-09-13 00:00:00.000/ 11710009800 /0 / 63664,16 / -63664,16/
2012-09-13 00:00:00.000/ 20338000200/ 2090/ 0 / 2090/
2012-10-02 00:00:00.000/ 10120011700 /2147777,64 / 2147777,61 / 0,0300000002607703
2012-10-02 00:00:00.000/ 10520031000 /77267,93/ 337880,74 / -260612,81
2012-10-02 00:00:00.000/ 10520074700/ 248216,19/ 1147916,47 / -899700,28
Lo que en realidad deseo que realice es lo siguiente
Que desaparezca Cargo y Abono de la primera consulta y solo quede el saldo inicial, pero que se combine la segunda consulta pero con la diferencia de que aparezcan sus cargos, abonos y saldo inicial.
Quedando de la siguiente manera.
Cita:
Fecha NumCta Sando_Inicial Cargo Abono Saldo_Inic
2012-09-13 00:00:00.000 /11250001500/ 166,14 2147777,64 / 2147777,61 / 0,0300000002607703
2012-09-13 00:00:00.000/ 11710009800/ -63664,16 / 77267,93/ 337880,74 / -260612,81/
2012-09-13 00:00:00.000/ 20338000200 /2090 / 248216,19 / 1147916,47 / -899700,28
2012-09-13 00:00:00.000 /11250001500/ 166,14 2147777,64 / 2147777,61 / 0,0300000002607703
2012-09-13 00:00:00.000/ 11710009800/ -63664,16 / 77267,93/ 337880,74 / -260612,81/
2012-09-13 00:00:00.000/ 20338000200 /2090 / 248216,19 / 1147916,47 / -899700,28
El primer saldo inicial es de la primera consulta WHERE Fecha BETWEEN '20121001' and '20121007'
Y el cargo y abono con el segundo saldo inicial es de la segunda consulta WHERE Fecha BETWEEN '20120910' and '20120930'
Es valido realizar este tipo de movimientos en SQL?
anexo el codigo que tengo por el momento:
Cita:
SELECT Fecha,NumCta,Nombre,SegNeg,Cargo,Abono, cargo-abono as Saldo_Inicial FROM(
SELECT Fecha,NumCta,Nombre,SegNeg, sum(ISNULL (Cargo,0)) as cargo, sum(ISNULL (Abono,0)) as Abono FROM
(
SELECT M.Fecha,C.Codigo AS NumCta,C.Nombre AS Nombre,S.Codigo AS SegNeg, SUM(CASE WHEN TipoMovto = 0 THEN Importe END) AS Cargo, SUM (CASE WHEN TipoMovto = 1 THEN Importe END) As Abono
from SegmentosNegocio S
Inner Join MovimientosPoliza M on M.IdSegNeg = S.Id Join Cuentas C on C.Id = M.IdCuenta
WHERE Fecha BETWEEN '20120910' and '20120930'
group by Fecha,C.Codigo,C.Nombre,S.Codigo
) AS MovimientosPoliza
group by Fecha,NumCta,Nombre,SegNeg
) AS MovimientosPoliza
SELECT Fecha,NumCta,Nombre,SegNeg, sum(ISNULL (Cargo,0)) as cargo, sum(ISNULL (Abono,0)) as Abono FROM
(
SELECT M.Fecha,C.Codigo AS NumCta,C.Nombre AS Nombre,S.Codigo AS SegNeg, SUM(CASE WHEN TipoMovto = 0 THEN Importe END) AS Cargo, SUM (CASE WHEN TipoMovto = 1 THEN Importe END) As Abono
from SegmentosNegocio S
Inner Join MovimientosPoliza M on M.IdSegNeg = S.Id Join Cuentas C on C.Id = M.IdCuenta
WHERE Fecha BETWEEN '20120910' and '20120930'
group by Fecha,C.Codigo,C.Nombre,S.Codigo
) AS MovimientosPoliza
group by Fecha,NumCta,Nombre,SegNeg
) AS MovimientosPoliza