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

Ayuda con esta consulta

Estas en el tema de Ayuda con esta consulta en el foro de SQL Server en Foros del Web. El siguiente query me funciona a la perfeccion me hace un reporte diario, mostrandome en columnas un comprobante,num_envase,total:deposito,cuenta,clien te,y la clasificacion de billetes y de ...
  #1 (permalink)  
Antiguo 26/10/2005, 16:07
 
Fecha de Ingreso: diciembre-2003
Mensajes: 595
Antigüedad: 20 años, 4 meses
Puntos: 1
Ayuda con esta consulta

El siguiente query me funciona a la perfeccion me hace un reporte diario, mostrandome en columnas un comprobante,num_envase,total:deposito,cuenta,clien te,y la clasificacion de billetes y de monedas hasta llegar a un subtotal y una diferencia lo que necesito hacer ahora es agruparlos por nombre_cliente es decir si tengo digamos 10 registros con el mismo nombre de cliente este me lo agrupe en uno solo y me de el total de del SUBTOTAL , espero alguein me pueda ayudar


SELECT b.comprobante, b.num_envase, d.total_deposito, d.cuenta, b.nombre_cliente, '5234',
ISNULL(SUM(a.Importe_1000),0) as B1000,
ISNULL(SUM(a.Importe_500),0) AS B500,
ISNULL(SUM(a.Importe_200),0) AS B200,
ISNULL(SUM(a.Importe_100),0) AS B100,
ISNULL(SUM(a.Importe_50), 0) AS B50,
ISNULL(SUM(a.Importe_20), 0) AS B20,
ISNULL(SUM(c.Importe_100_e), 0)AS M100,
ISNULL(SUM(c.Importe_20_e), 0) AS M20,
ISNULL(SUM(c.Importe_10_e), 0) AS M10,
ISNULL(SUM(c.Importe_5_e), 0) AS M5,
ISNULL(SUM(c.Importe_2_e), 0) AS M2,
ISNULL(SUM(c.Importe_1_e), 0) AS M1,
ISNULL(SUM(c.Importe_50c_e), 0) AS C50,
ISNULL(SUM(c.Importe_20c_e), 0) AS C20,
ISNULL(SUM(c.Importe_10c_e), 0) AS C10,
ISNULL(SUM(c.Importe_05c_e), 0) AS C5,
ISNULL(SUM(a.Importe_1000 +
a.Importe_500 +
a.Importe_200 +
a.Importe_100 +
a.Importe_50 +
a.Importe_20 +
c.Importe_100_e+
c.Importe_20_e +
c.Importe_10_e +
c.Importe_5_e +
c.Importe_2_e +
c.Importe_1_e +
c.Importe_50c_e +
c.Importe_20c_e +
c.Importe_10c_e +
c.Importe_05c_e), 0) AS SUBTOTAL,
ISNULL(SUM(d.total_deposito -
(a.Importe_1000 +
a.Importe_500 +
a.Importe_200 +
a.Importe_100 +
a.Importe_50 +
a.Importe_20 +
c.Importe_100_e+
c.Importe_20_e +
c.Importe_10_e +
c.Importe_5_e +
c.Importe_2_e +
c.Importe_1_e +
c.Importe_50c_e +
c.Importe_20c_e +
c.Importe_10c_e +
c.Importe_05c_e)), 0) AS DIFERENCIA
FROM Proceso_Efectivo_global_Billete a, vproceso b, proceso_efectivo_global_moneda c, proceso_ficha_deposito d
where (a.Numero_Control = b.numero and (a.numero_control = c.numero_control) and (a.numero_control = d.numero_proceso))
and ((convert(varchar,b.fecha,103)= convert(varchar,getdate()-2,103)
AND convert(varchar,b.hora_inicial,108) > '22:00:00')
or (convert(varchar,b.fecha,103)= convert(varchar,getdate()-1,103)
AND convert(varchar,b.hora_inicial,108) < '22:01:00'))
and b.clas_seccion = '16535'
and d.total_docto = 0
and d.tipo_moneda = 0
GROUP BY b.comprobante, b.num_envase, d.total_deposito, d.cuenta, b.nombre_cliente
order by b.nombre_cliente asc
GO
  #2 (permalink)  
Antiguo 27/10/2005, 11:05
 
Fecha de Ingreso: agosto-2005
Mensajes: 12
Antigüedad: 18 años, 8 meses
Puntos: 0
Hola

Has probado creando un view con la consulta anterior y luego haciendo el SUM(subtotal) de ese view. Las condiciones del view pueden variar dependiendo si son fijas o no.
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 08:43.