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

Por que me repite la informacion

Estas en el tema de Por que me repite la informacion en el foro de SQL Server en Foros del Web. Veran esta es mi consulta la cual deseo que por folio me de todos los numeros de cuenta y sus cantidades esa es una y ...
  #1 (permalink)  
Antiguo 14/11/2013, 11:02
 
Fecha de Ingreso: noviembre-2013
Ubicación: Nuevo Leon
Mensajes: 70
Antigüedad: 11 años, 1 mes
Puntos: 2
Pregunta Por que me repite la informacion

Veran esta es mi consulta la cual deseo que por folio me de todos los numeros de cuenta y sus cantidades esa es una y lo que sucede es que me repite las cantidades por cada folio y las sumas en todo es igual anexo el codigo y una imagen

[URL="http://www.mediafire.com/view/3kruvuo44u266zj/UNI.png"]http://www.mediafire.com/view/3kruvuo44u266zj/UNI.png[/URL]

Cita:
SELECT DISTINCT Fecha,Codigo,NumCta,Folio, Referencia,Nombre,isnull(cargo,0) AS cargo, isnull(abono,0) AS abono FROM
(
SELECT DISTINCT
MP.Fecha AS Fecha, Cta.Nombre AS Nombre,MP.Folio AS Folio,MP.Referencia AS Referencia,
Cta.Codigo AS NumCta, S.Codigo AS Codigo,(CASE WHEN TipoMovto = 0 THEN Importe END) AS Cargo,
(CASE WHEN TipoMovto = 1 THEN Importe END) AS Abono
FROM MovimientosPoliza AS MP
INNER JOIN Cuentas Cta on Cta.Id = MP.IdCuenta INNER JOIN SegmentosNegocio S ON S.Codigo=Cta.SegNegMovtos
) AS MovimientosPoliza
ORDER BY Codigo

Y lo otro es que deseo que me sume por cuenta todo pero que siga dentro del mismo folio y lo realizo de la siguiente forma, a simple vista se nota que esta bien pero en el siguiente folio es lo mismo y asi hasta el ultimo.


[URL="http://www.mediafire.com/view/sqky2ag46xx1aow/SUM.png"]http://www.mediafire.com/view/sqky2ag46xx1aow/SUM.png[/URL]

Cita:
SELECT * FROM(
SELECT Nombre,Codigo,NumCta,isnull(cargo,0) AS Cargo, isnull(abono,0) AS Abono, row_number() over(partition BY Codigo,NumCta ORDER BY Codigo,NumCta ASC) AS rn FROM
(
SELECT CTA.Nombre AS Nombre,S.Codigo AS Codigo,CTA.Codigo AS NumCta, SUM(CASE WHEN TipoMovto = 0 THEN Importe END) AS Cargo,
SUM(CASE WHEN TipoMovto = 1 THEN Importe END) AS Abono
FROM MovimientosPoliza AS M
INNER JOIN Cuentas Cta ON Cta.Id = M.IdCuenta INNER JOIN SegmentosNegocio S ON Cta.Id = M.IdCuenta
GROUP BY CTA.Nombre,Cta.Codigo,S.Codigo
) AS MovimientosPoliza
) AS MovimientosPoliza WHERE rn=1



ESPERAN PUEDAN VER EL ERROR PUES QUIERO SUPONER QUE ES DE LOJICA.

De antemano muchas gracias.
__________________
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 14/11/2013, 11:10
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, 4 meses
Puntos: 774
Respuesta: Por que me repite la informacion

los queries regresan dupolicados porque tienes informacion duplicada, por ejemplo en la primer imagen haces un distint por folio, y veo tus resultados y regresa 2 renglones uno con folio 9 y otro con folio 8 eso esta bien, ahora si quieres que nada mas regrese cierta informacion podrias eliminar columnas digamos el numero de folio :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 14/11/2013, 13:33
 
Fecha de Ingreso: noviembre-2013
Ubicación: Nuevo Leon
Mensajes: 70
Antigüedad: 11 años, 1 mes
Puntos: 2
Respuesta: Por que me repite la informacion

Cita:
Iniciado por Libras Ver Mensaje
los queries regresan dupolicados porque tienes informacion duplicada, por ejemplo en la primer imagen haces un distint por folio, y veo tus resultados y regresa 2 renglones uno con folio 9 y otro con folio 8 eso esta bien, ahora si quieres que nada mas regrese cierta informacion podrias eliminar columnas digamos el numero de folio :)
Es lo que pense pero elimino las columnas y me marca el error por que hago referencia o solo dejo las de IMPORTE que es ABONO y CARGO y todo lo demas en la parte de arriba lo elimino?
__________________
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.
  #4 (permalink)  
Antiguo 14/11/2013, 13:36
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, 4 meses
Puntos: 774
Respuesta: Por que me repite la informacion

manda un ejemplo de tus datos y que es lo que quieres obtener para poder ayudarte :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 14/11/2013, 13:51
 
Fecha de Ingreso: noviembre-2013
Ubicación: Nuevo Leon
Mensajes: 70
Antigüedad: 11 años, 1 mes
Puntos: 2
Respuesta: Por que me repite la informacion

[URL="http://www.mediafire.com/view/sqky2ag46xx1aow/sum.png"]http://www.mediafire.com/view/sqky2ag46xx1aow/sum.png[/URL]

Mira en esta primera imagen CODIGO se ve bien y me muestra sus numeros de cuentas con sus totales 1011000100 ese es el total de la cuenta por CARGO y ABONOS, bueno yo quiero que sea al reves que por CODIGO me de el total de sus cuentas y para eso hice esta segunda consulta que me diera por separado.
Mira despues 1710 sigue 1739 y es lo mismo y asi siempre es lo mismo se repite con todos los FOLIOS que tengo hasta el 9999

[URL="http://www.mediafire.com/view/myfiles/#54ywx1yd33yzzax"]http://www.mediafire.com/view/myfiles/#54ywx1yd33yzzax[/URL]

ESTE ES EL CODIGO DE ESTA CONSULTA TIENE SUM
Cita:
SELECT * FROM(
SELECT Nombre,Codigo,NumCta,isnull(cargo,0) AS Cargo, isnull(abono,0) AS Abono, row_number() over(partition BY Codigo,NumCta ORDER BY Codigo,NumCta ASC) AS rn FROM
(
SELECT CTA.Nombre AS Nombre,S.Codigo,CTA.Codigo AS NumCta, SUM(CASE WHEN TipoMovto = 0 THEN Importe END) AS Cargo,
SUM(CASE WHEN TipoMovto = 1 THEN Importe END) AS Abono
FROM MovimientosPoliza AS M
INNER JOIN Cuentas Cta ON Cta.Id = M.IdCuenta INNER JOIN SegmentosNegocio S ON Cta.Id = M.IdCuenta
GROUP BY CTA.Nombre,Cta.Codigo,S.Codigo
) AS MovimientosPoliza
) AS MovimientosPoliza WHERE rn=1

Bueno segun para corregirlo opte por modificarlo que es la segunda pero sucede lo mismo dejo el codigo y las imagenes abajo....
pense que el problema habia quedado solucionado me muestra cuentas dierentes y Nombres diferentes del mismo CODIGO pero al final las sumas son iguales lo cual no debe ser asi deben variar entonces tambien se estan duplicando pero siento que se mueven de lugar.

[URL="http://www.mediafire.com/view/crypzvkgtr6bzra/Captura_de_pantalla_2013-11-14_13.42.30.png"]http://www.mediafire.com/view/crypzvkgtr6bzra/Captura_de_pantalla_2013-11-14_13.42.30.png[/URL]

[URL="http://www.mediafire.com/view/3kruvuo44u266zj/UNI.png"]http://www.mediafire.com/view/3kruvuo44u266zj/UNI.png[/URL]

Cita:
SELECT DISTINCT Fecha,Codigo,NumCta,Folio, Referencia,Nombre,isnull(cargo,0) AS cargo, isnull(abono,0) AS abono FROM
(
SELECT DISTINCT
MP.Fecha AS Fecha, Cta.Nombre AS Nombre,MP.Folio AS Folio,MP.Referencia AS Referencia,
Cta.Codigo AS NumCta, S.Codigo AS Codigo,(CASE WHEN TipoMovto = 0 THEN Importe END) AS Cargo,
(CASE WHEN TipoMovto = 1 THEN Importe END) AS Abono
FROM MovimientosPoliza AS MP
INNER JOIN Cuentas Cta on Cta.Id = MP.IdCuenta INNER JOIN SegmentosNegocio S ON S.Codigo=Cta.SegNegMovtos
) AS MovimientosPoliza
ORDER BY Codigo
__________________
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.
  #6 (permalink)  
Antiguo 14/11/2013, 14:53
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, 4 meses
Puntos: 774
Respuesta: Por que me repite la informacion

si observas veras que no en todas las sumas son los mismos resultados, verifica bien tu informacion, ahora si me pudieras proporcionar un pequeño ejemplo de tus "datos" seria mas facil poder ayudarte, aqui el problema que veo es que quieres usar datos que no son agrupables, que es esto que quieres hacer las sumas de un folio incluyendo los nombres de los conceptos y si estos son diferentes te arrojara mas de un resultado.
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 15/11/2013, 10:18
 
Fecha de Ingreso: noviembre-2013
Ubicación: Nuevo Leon
Mensajes: 70
Antigüedad: 11 años, 1 mes
Puntos: 2
Respuesta: Por que me repite la informacion

Sigo verificando :$ si lo soluciono te digo!
__________________
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: fecha, informacion, repite, select
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:51.