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

[SOLUCIONADO] Datos repetidos

Estas en el tema de Datos repetidos en el foro de SQL Server en Foros del Web. Buenas Tarde; Alguien me podra ayudar? @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT c . CodigoDeTienda AS CODTIENDA ,         c . ...
  #1 (permalink)  
Antiguo 11/07/2012, 13:26
Avatar de yamiblancoc  
Fecha de Ingreso: agosto-2011
Mensajes: 103
Antigüedad: 12 años, 7 meses
Puntos: 4
Pregunta Datos repetidos

Buenas Tarde;

Alguien me podra ayudar?

Código SQL:
Ver original
  1. SELECT c.CodigoDeTienda AS CODTIENDA,
  2.         c.NombreDeTienda AS TIENDA,  
  3.         c.CODCP ,
  4.         ---c.NOMCP AS CP,    
  5.         C.CodigoDelItem AS CODITEM,
  6.         C.NombreDelItem AS ITEM,
  7.       (c.InventarioAnteriorANT + c.ComprasANT + c.AjustesANT - c.CreditosANT - c.InventarioActualANT)AS VentasAnterior ,
  8.       (c.InventarioAnteriorACT + c.ComprasACT + c.AjustesACT - c.CreditosACT - c.InventarioActualACT)AS VentasActual
  9.                 FROM (SELECT     B.CodTerAtu,
  10.                                 B.CodLoj AS CodigoDeTienda,
  11.                                  B.NomLoj AS NombreDeTienda,
  12.                                  A.CodCp, A.CodIte AS CodigoDelItem,
  13.                                  A.NomIte AS NombreDelItem,
  14.                                 CAST(D.ValPre AS DECIMAL(15, 2)) / 100 AS PrecioANT,
  15.                                 D.ValEstAnt AS InventarioAnteriorANT,
  16.                                 D.ValComDir + D.ValComAta AS ComprasANT,
  17.                                 ISNULL(F.ValSdFab + F.ValCeFab + F.ValNopaFab + F.ValSdAta + F.ValCeAta + F.ValNopaAta + F.ValEopaAta + F.ValCepaAta, 0) AS AjustesANT,
  18.                                 D.ValCre AS CreditosANT, D.ValEstLoj + D.ValEstDep + D.ValEstOut + D.ValEstMB AS InventarioActualANT,
  19.                                 CAST(A.ValPre AS DECIMAL(15, 2))  / 100 AS PrecioACT, A.ValEstAnt AS InventarioAnteriorACT, A.ValComDir + A.ValComAta AS ComprasACT,
  20.                                 ISNULL(C.ValSdFab + C.ValCeFab + C.ValNopaFab + C.ValSdAta + C.ValCeAta + C.ValNopaAta + C.ValEopaAta + C.ValCepaAta, 0) AS AjustesACT,
  21.                                 A.ValCre AS CreditosACT, A.ValEstLoj + A.ValEstDep + A.ValEstOut + A.ValEstMB AS InventarioActualACT
  22.                                 FROM         LOT12MJ AS A INNER JOIN
  23.                                                       LOJ12MJ AS B ON A.CodLoj = B.CodLoj LEFT OUTER JOIN
  24.                                                       AJU12AM AS F ON A.CodCp = F.CodCp AND A.CodLoj = F.CodLoj AND A.CodIte = F.CodIte LEFT OUTER JOIN
  25.                                                       AJU12MJ AS C INNER JOIN
  26.                                                       LOT12AM AS D INNER JOIN
  27.                                                       LOJ12AM AS E ON D.CodLoj = E.CodLoj ON C.CodIte = D.CodIte AND C.CodCp = D.CodCp ON F.CodCp = C.CodCp AND F.CodLoj = D.CodLoj AND
  28.                                                       F.CodCp = D.CodCp AND F.CodIte = D.CodIte AND F.CodIte = C.CodIte AND F.CodLoj = C.CodLoj AND A.CodLoj = E.CodLoj AND A.CodCp = D.CodCp AND
  29.                                                       A.CodIte = D.CodIte AND B.CodLoj = E.CodLoj AND A.CodLoj = D.CodLoj AND A.CodLoj = C.CodLoj AND A.CodCp = C.CodCp AND
  30.                                                       A.CodIte = C.CodIte
  31.                                 WHERE     (B.StaAud = 3) AND (E.StaAud = 3)) AS c
  32. WHERE   (c.InventarioAnteriorANT + c.ComprasANT + c.AjustesANT - c.CreditosANT - c.InventarioActualANT)<> (c.InventarioAnteriorACT + c.ComprasACT + c.AjustesACT - c.CreditosACT - c.InventarioActualACT)


realmente no se que estoy haciendo mal porque me sale asi:

162581 FRUTI MAX PARCHITA REGULAR SOBRE 15 2 14
173312 DEL MONTE MANZANA REGULAR LATA 335ML 16 35
93258 LAVAPLAT FULLER TORONJA LIQUIDO 750 6 19
93258 LAVAPLAT L.LLAVES ALEGRIA TROPICAL LIQUIDO 500 9 14
158595 LCH/COND NESTLE 397/AZUC 11 72
158595 LCH/COND NESTLE 397/AZUC 11 72

159366 EASY OFF BANG MULTIUSO ORIGINAL 500 PIST 5 21
91686 MR. MUSCULO OXY POWER MULTIUSO 23 10
29955 PAS/ALIM GISELA 1000 10 49
91112 GP SUPER ALKALINA ALKALINA AAA 2 19 9
91112 GP SUPER ALKALINA ALKALINA AAA 2 19 9
91112 GP SUPER ALKALINA ALKALINA AAA 2 7 9
91112 GP SUPER ALKALINA ALKALINA AAA 2 7 9

79198 PILAS VOLTMAX SIN/VERS ALKALINA 9V 1 10 22
79198 PILAS VOLTMAX SIN/VERS ALKALINA 9V 1 10 22



Como pueden ver lo que esta en color se repite, pero con distinto valor (me refiero a los dos ultimos numero de cada fila uno es precio anterior y otro precio actual), trabajo con SQL server 2008

cualquier cosa por si no me doy a entender puedo dar mas informacion pero de verdad necesito su ayuda porque ya no se que mas hacer.

Gracias de antemano quien me ayude
  #2 (permalink)  
Antiguo 11/07/2012, 13:37
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 7 meses
Puntos: 774
Respuesta: Datos repetidos

y si le pones un group by???


Código SQL:
Ver original
  1. SELECT * FROM(
  2.     SELECT c.CodigoDeTienda AS CODTIENDA,
  3.             c.NombreDeTienda AS TIENDA,  
  4.             c.CODCP ,
  5.             ---c.NOMCP AS CP,    
  6.             C.CodigoDelItem AS CODITEM,
  7.             C.NombreDelItem AS ITEM,
  8.           (c.InventarioAnteriorANT + c.ComprasANT + c.AjustesANT - c.CreditosANT - c.InventarioActualANT)AS VentasAnterior ,
  9.           (c.InventarioAnteriorACT + c.ComprasACT + c.AjustesACT - c.CreditosACT - c.InventarioActualACT)AS VentasActual
  10.                     FROM (SELECT     B.CodTerAtu,
  11.                                     B.CodLoj AS CodigoDeTienda,
  12.                                      B.NomLoj AS NombreDeTienda,
  13.                                      A.CodCp, A.CodIte AS CodigoDelItem,
  14.                                      A.NomIte AS NombreDelItem,
  15.                                     CAST(D.ValPre AS DECIMAL(15, 2)) / 100 AS PrecioANT,
  16.                                     D.ValEstAnt AS InventarioAnteriorANT,
  17.                                     D.ValComDir + D.ValComAta AS ComprasANT,
  18.                                     ISNULL(F.ValSdFab + F.ValCeFab + F.ValNopaFab + F.ValSdAta + F.ValCeAta + F.ValNopaAta + F.ValEopaAta + F.ValCepaAta, 0) AS AjustesANT,
  19.                                     D.ValCre AS CreditosANT, D.ValEstLoj + D.ValEstDep + D.ValEstOut + D.ValEstMB AS InventarioActualANT,
  20.                                     CAST(A.ValPre AS DECIMAL(15, 2))  / 100 AS PrecioACT, A.ValEstAnt AS InventarioAnteriorACT, A.ValComDir + A.ValComAta AS ComprasACT,
  21.                                     ISNULL(C.ValSdFab + C.ValCeFab + C.ValNopaFab + C.ValSdAta + C.ValCeAta + C.ValNopaAta + C.ValEopaAta + C.ValCepaAta, 0) AS AjustesACT,
  22.                                     A.ValCre AS CreditosACT, A.ValEstLoj + A.ValEstDep + A.ValEstOut + A.ValEstMB AS InventarioActualACT
  23.                                     FROM         LOT12MJ AS A INNER JOIN
  24.                                                           LOJ12MJ AS B ON A.CodLoj = B.CodLoj LEFT OUTER JOIN
  25.                                                           AJU12AM AS F ON A.CodCp = F.CodCp AND A.CodLoj = F.CodLoj AND A.CodIte = F.CodIte LEFT OUTER JOIN
  26.                                                           AJU12MJ AS C INNER JOIN
  27.                                                           LOT12AM AS D INNER JOIN
  28.                                                           LOJ12AM AS E ON D.CodLoj = E.CodLoj ON C.CodIte = D.CodIte AND C.CodCp = D.CodCp ON F.CodCp = C.CodCp AND F.CodLoj = D.CodLoj AND
  29.                                                           F.CodCp = D.CodCp AND F.CodIte = D.CodIte AND F.CodIte = C.CodIte AND F.CodLoj = C.CodLoj AND A.CodLoj = E.CodLoj AND A.CodCp = D.CodCp AND
  30.                                                           A.CodIte = D.CodIte AND B.CodLoj = E.CodLoj AND A.CodLoj = D.CodLoj AND A.CodLoj = C.CodLoj AND A.CodCp = C.CodCp AND
  31.                                                           A.CodIte = C.CodIte
  32.                                     WHERE     (B.StaAud = 3) AND (E.StaAud = 3)) AS c
  33.     WHERE   (c.InventarioAnteriorANT + c.ComprasANT + c.AjustesANT - c.CreditosANT - c.InventarioActualANT)<> (c.InventarioAnteriorACT + c.ComprasACT + c.AjustesACT - c.CreditosACT - c.InventarioActualACT)
  34. ) t1 GROUP BY CODTIENDA,TIENDA, CODCP ,CODITEM,ITEM,VentasAnterior ,VentasActual


saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 13/07/2012, 10:48
Avatar de yamiblancoc  
Fecha de Ingreso: agosto-2011
Mensajes: 103
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: Datos repetidos

como estas? trakis ya lo resolvi despues de 2 horas lo resolvi estaba mal relacionada las tablas
  #4 (permalink)  
Antiguo 13/07/2012, 12:00
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 7 meses
Puntos: 774
Respuesta: Datos repetidos

Hola Yami, que bien que lo pudiste resolver :), saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: query, server, sql
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 23:09.