Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

[SOLUCIONADO] Duda sobre union de consultas y eliminacion de columnas

Estas en el tema de Duda sobre union de consultas y eliminacion de columnas en el foro de SQL Server en Foros del Web. Duda sobre union de consultas y eliminacion de campos Primero que nada elimine 2 datos el Nombre y SegNeg ya que me movia toda la ...
  #1 (permalink)  
Antiguo 27/11/2013, 13:58
 
Fecha de Ingreso: noviembre-2013
Ubicación: Nuevo Leon
Mensajes: 70
Antigüedad: 11 años
Puntos: 2
Pregunta Duda sobre union de consultas y eliminacion de columnas

Duda sobre union de consultas y eliminacion de campos

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:
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
Segunda consulta:
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
Realize un union all pero no me los une de la manera que deseo esto es lo que realiza:
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

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

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
__________________
Buen dia.
Jessy Rmz.
No seas como el caminante del desierto que sólo deja una huella; el conocimiento se alcanza con el tiempo y unas cuantas lunas.
  #2 (permalink)  
Antiguo 27/11/2013, 14:08
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Duda sobre union de consultas y eliminacion de columnas

???????????????????????????

quizas esto te sirva
Código SQL:
Ver original
  1. SELECT Fecha,NumCta,Nombre,SegNeg,Cargo,Abono, Saldo_Inicial
  2. FROM
  3. (
  4. SELECT NumCta, Saldo_Inicial FROM(
  5.     SELECT Fecha,NumCta,Nombre,SegNeg,Cargo,Abono, cargo-abono AS Saldo_Inicial FROM(
  6.     SELECT Fecha,NumCta,Nombre,SegNeg, SUM(ISNULL (Cargo,0)) AS cargo, SUM(ISNULL (Abono,0)) AS Abono FROM
  7.     (
  8.     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
  9.     FROM SegmentosNegocio S
  10.     INNER JOIN MovimientosPoliza M ON M.IdSegNeg = S.Id JOIN Cuentas C ON C.Id = M.IdCuenta
  11.     WHERE Fecha BETWEEN '20120910' AND '20120930'
  12.     GROUP BY Fecha,C.Codigo,C.Nombre,S.Codigo
  13.     ) AS MovimientosPoliza
  14.     GROUP BY Fecha,NumCta,Nombre,SegNeg
  15.     ) AS MovimientosPoliza
  16. ) t1
  17. LEFT JOIN(
  18.     SELECT Fecha,NumCta,Nombre,SegNeg,Cargo,AbonoFROM(
  19.     SELECT Fecha,NumCta,Nombre,SegNeg, SUM(ISNULL (Cargo,0)) AS cargo, SUM(ISNULL (Abono,0)) AS Abono FROM
  20.     (
  21.     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
  22.     FROM SegmentosNegocio S
  23.     INNER JOIN MovimientosPoliza M ON M.IdSegNeg = S.Id JOIN Cuentas C ON C.Id = M.IdCuenta
  24.     WHERE Fecha BETWEEN '20121010' AND '20121030'
  25.     GROUP BY Fecha,C.Codigo,C.Nombre,S.Codigo
  26.     ) AS MovimientosPoliza
  27.     GROUP BY Fecha,NumCta,Nombre,SegNeg
  28.     ) AS MovimientosPoliza) AS t2 ON (t1.NumCta=t2.NumCta)
  29. ) AS completo

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Última edición por Libras; 27/11/2013 a las 14:38
  #3 (permalink)  
Antiguo 28/11/2013, 10:30
 
Fecha de Ingreso: noviembre-2013
Ubicación: Nuevo Leon
Mensajes: 70
Antigüedad: 11 años
Puntos: 2
Respuesta: Duda sobre union de consultas y eliminacion de columnas

:O estoy viendo el codigo voy a moverle
__________________
Buen dia.
Jessy Rmz.
No seas como el caminante del desierto que sólo deja una huella; el conocimiento se alcanza con el tiempo y unas cuantas lunas.

Etiquetas: columnas, eliminacion, fecha, select, sql, union
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:27.