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

múltiples búsquedas y agrupar

Estas en el tema de múltiples búsquedas y agrupar en el foro de SQL Server en Foros del Web. buenas amigos del foro, he visto que han despejado muchas dudas y has sacado las castañas del fuego a mucha gente, para mi se ha ...
  #1 (permalink)  
Antiguo 17/05/2011, 09:23
 
Fecha de Ingreso: mayo-2011
Mensajes: 7
Antigüedad: 12 años, 11 meses
Puntos: 0
Pregunta múltiples búsquedas y agrupar

buenas amigos del foro, he visto que han despejado muchas dudas y has sacado las castañas del fuego a mucha gente, para mi se ha convertido en un reto ya que no soy informático hacer una búsqueda en sql, tengo sql 2005 y tengo una base de datos con varias tablas pero necesito la que se llama PRUEBA1 y necesito ver cuantas ventas de cada articulo hubo por mes, encontré en Internet este código para búsqueda y lo adapte, pero me genera la cantidad de veces que se vendio, no la cantidad vendida. alguna sugerencia??


SELECT descripcion,
COUNT(CASE(fecha)WHEN 1 THEN 1 END)Enero,
COUNT(CASE (month(fecha)) WHEN 2 THEN 1 END)febrero,
COUNT(CASE (month(fecha)) WHEN 3 THEN 1 END) Marzo,
COUNT(CASE (month(fecha)) WHEN 4 THEN 1 END)Abril,
COUNT(CASE (month(fecha)) WHEN 5 THEN 1 END) Mayo,
COUNT(CASE (month(fecha)) WHEN 6 THEN 1 END)Junio,
COUNT(CASE (month(fecha)) WHEN 7 THEN 1 END) Julio,
COUNT(CASE (month(fecha)) WHEN 8 THEN 1 END)Agosto,
COUNT(CASE (month(fecha)) WHEN 9 THEN 1 END)septiembre,
COUNT(CASE (month(fecha))WHEN 10 THEN 1 END)Octubre,
COUNT(CASE (month(fecha)) WHEN 11 THEN 1 END)noviembre,
COUNT(CASE (month(fecha)) WHEN 12 THEN 1 END)diciembre, COUNT(fecha) Total
FROM prueba1
GROUP BY descripcion)


aqui tengo un archivo en excel igual a la tabla
http://www.megaupload.com/?d=3UFMZKF0

cualquier ayuda sera bien recibida
  #2 (permalink)  
Antiguo 17/05/2011, 12:38
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: múltiples búsquedas y agrupar

SELECT descripcion,
SUM( CASE WHEN (month(fecha)) = 1 THEN 1 ELSE 0 END) Enero,
SUM( CASE WHEN (month(fecha)) = 2 THEN 1 ELSE 0 END) febrero,
SUM( CASE WHEN (month(fecha)) = 3 THEN 1 ELSE 0 END) Marzo,
SUM( CASE WHEN (month(fecha)) = 4 THEN 1 ELSE 0 END) Abril,
SUM( CASE WHEN (month(fecha)) = 5 THEN 1 ELSE 0 END) Mayo,
SUM( CASE WHEN (month(fecha)) = 6 THEN 1 ELSE 0 END) Junio,
SUM( CASE WHEN (month(fecha)) = 7 THEN 1 ELSE 0 END) Julio,
SUM( CASE WHEN (month(fecha)) = 8 THEN 1 ELSE 0 END) Agosto,
SUM( CASE WHEN (month(fecha)) = 9 THEN 1 ELSE 0 END) septiembre,
SUM( CASE WHEN (month(fecha)) = 10 THEN 1 ELSE 0 END) Octubre,
SUM( CASE WHEN (month(fecha)) = 11 THEN 1 ELSE 0 END) noviembre,
SUM( CASE WHEN (month(fecha)) = 12 THEN 1 ELSE 0 END) diciembre,
COUNT(fecha) Total
FROM prueba1
GROUP BY descripcion


Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 18/05/2011, 09:06
 
Fecha de Ingreso: mayo-2011
Mensajes: 7
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: múltiples búsquedas y agrupar

bueno, de todas maneras gracias por tu ayuda pero no arroja el resultado esperado solo que asi como esta da el mismo resultado que antes, muestra el numero de veces que sale el articulo durante un mes.

la estructura es mas o menos la siguiente

l articulo l fecha l cantidad l

necesito es sumar las cantidades pero como no se mucho de sql no se como hacerlo cualquier sugerencia sera bien recibida
  #4 (permalink)  
Antiguo 18/05/2011, 10:00
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: múltiples búsquedas y agrupar

ok, entonces seria solo sumar el campo cantidad..


SELECT descripcion,
SUM( CASE WHEN (month(fecha)) = 1 THEN cantidad ELSE 0 END) Enero,
SUM( CASE WHEN (month(fecha)) = 2 THEN cantidad ELSE 0 END) febrero,
SUM( CASE WHEN (month(fecha)) = 3 THEN cantidad ELSE 0 END) Marzo,
SUM( CASE WHEN (month(fecha)) = 4 THEN cantidad ELSE 0 END) Abril,
SUM( CASE WHEN (month(fecha)) = 5 THEN cantidad ELSE 0 END) Mayo,
SUM( CASE WHEN (month(fecha)) = 6 THEN cantidad ELSE 0 END) Junio,
SUM( CASE WHEN (month(fecha)) = 7 THEN cantidad ELSE 0 END) Julio,
SUM( CASE WHEN (month(fecha)) = 8 THEN cantidad ELSE 0 END) Agosto,
SUM( CASE WHEN (month(fecha)) = 9 THEN cantidad ELSE 0 END) septiembre,
SUM( CASE WHEN (month(fecha)) = 10 THEN cantidad ELSE 0 END) Octubre,
SUM( CASE WHEN (month(fecha)) = 11 THEN cantidad ELSE 0 END) noviembre,
SUM( CASE WHEN (month(fecha)) = 12 THEN cantidad ELSE 0 END) diciembre,
SUM(cantidad) Total
FROM prueba1
GROUP BY descripcion

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #5 (permalink)  
Antiguo 18/05/2011, 10:25
 
Fecha de Ingreso: mayo-2011
Mensajes: 7
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: múltiples búsquedas y agrupar

hago la prueba y te aviso como me va!! Saludos!
  #6 (permalink)  
Antiguo 19/05/2011, 16:34
 
Fecha de Ingreso: mayo-2011
Mensajes: 7
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: múltiples búsquedas y agrupar

excelente, me funciono a las mil maravillas ya miro cuantas unidades de cada producto vendi en los ultimos meses pero ahora quisiera agregarle a la vista un campo donde muestre la existencia actual de cada producto que esta en otra tabla, eso se puede hacer?

Etiquetas: group, sql, busquedas
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 11:56.