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

Como realizar esta consulta de agrupacion

Estas en el tema de Como realizar esta consulta de agrupacion en el foro de SQL Server en Foros del Web. En la imagen se detalla lo que necesito, espero puedan ayudarme...
  #1 (permalink)  
Antiguo 13/11/2013, 08:43
 
Fecha de Ingreso: septiembre-2009
Mensajes: 73
Antigüedad: 14 años, 7 meses
Puntos: 0
Como realizar esta consulta de agrupacion

En la imagen se detalla lo que necesito, espero puedan ayudarme

  #2 (permalink)  
Antiguo 13/11/2013, 08:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Como realizar esta consulta de agrupacion

Y... usando SUM() y GROUP BY sobre todos los campos no afectados por la función.
Bah!, en esencia, como dicen los manuales básicos de SQL Server.
¿Cuál es tu duda? ¿Cómo lo estás haciendo tu?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 13/11/2013, 09:10
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, 8 meses
Puntos: 774
Respuesta: Como realizar esta consulta de agrupacion

y que es lo que llevas echo??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #4 (permalink)  
Antiguo 13/11/2013, 16:53
 
Fecha de Ingreso: septiembre-2009
Mensajes: 73
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Como realizar esta consulta de agrupacion

Lo que hize fue lo que menciona gnzsoloyo pero nose si lo aplico bien, le aplique SUM(cantidad) y coloque un GROUP BY a todos los campos menos a cantidad.
  #5 (permalink)  
Antiguo 13/11/2013, 16:56
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, 8 meses
Puntos: 774
Respuesta: Como realizar esta consulta de agrupacion

quita la fecha de tu consulta, y haz el mismo procedimiento sum(cantidad) y group by a los demas campos y te llevaras una bonita sorpresa :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 13/11/2013, 17:12
 
Fecha de Ingreso: septiembre-2009
Mensajes: 73
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Como realizar esta consulta de agrupacion

Me dio este resultado? me agrupo ambos registros 'INVENTARIO' otro dato es que cuando NUMERO=0 no debe agrupar dichos registros
  #7 (permalink)  
Antiguo 13/11/2013, 17:19
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, 8 meses
Puntos: 774
Respuesta: Como realizar esta consulta de agrupacion

quizas esto te sirva:

Código SQL:
Ver original
  1. CREATE TABLE #productos
  2. (
  3. id INT,
  4. num_par VARCHAR(20),
  5. catego VARCHAR(20),
  6. precio_das INT,
  7. cantidad INT,
  8. fecha datetime,
  9. tipo VARCHAR(MAX)
  10.  
  11. )
  12.  
  13. INSERT INTO #productos VALUES (38,  'AR-310NT', 'Consumibles',  1089,   1,  '07/11/2013',   'Entrada')
  14. INSERT INTO #productos VALUES (39,  'AR-310NT', 'Consumibles',  1089,   2,  '08/11/2013',   'Entrada')
  15. INSERT INTO #productos VALUES (40,  'AR-310NT', 'Consumibles',  1089,   2,  '08/11/2013',   'Salida')
  16. INSERT INTO #productos VALUES (41,  'AR-310NT', 'Consumibles',  1089,   2,  '08/11/2013',   'Salida')
  17. INSERT INTO #productos VALUES (41,  'AR-310NT', 'Consumibles',  1089,   4,  '08/11/2013',   'Entrada')
  18. INSERT INTO #productos VALUES (41,  'AR-310NT', 'Consumibles',  1089,   2,  '08/11/2013',   'Salida')
  19.  
  20.  
  21. SELECT t2.num_par,t2.total,t3.fecha,t3.catego FROM(
  22. SELECT num_par,SUM(entrada) AS total FROM (
  23. SELECT
  24. CASE WHEN tipo='Entrada' THEN SUM(cantidad) ELSE SUM(-cantidad)END AS entrada,num_par
  25. FROM #productos
  26. GROUP BY tipo,num_par) AS t1
  27. GROUP BY num_par) t2 LEFT JOIN
  28. (SELECT num_par,MAX(fecha) AS fecha,catego FROM #productos GROUP BY num_par,catego) AS t3 ON (t2.num_par=t3.num_par)

son datos parecidos a los tuyos, solo acomodalo a tus necesidades :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 13/11/2013, 17:38
 
Fecha de Ingreso: septiembre-2009
Mensajes: 73
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Como realizar esta consulta de agrupacion

Bueno dejame probarlo y le cuento, se agredece el tiempo, saludos

Etiquetas: database
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 06:34.