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

Group By

Estas en el tema de Group By en el foro de SQL Server en Foros del Web. Como puedo agrupar por un valor obtenido del case??? Añado la consulta para que me podais entender mejor Código: select sum(r.totalfactura) as total, case when ...
  #1 (permalink)  
Antiguo 17/03/2006, 05:29
 
Fecha de Ingreso: abril-2005
Mensajes: 195
Antigüedad: 19 años
Puntos: 0
Group By

Como puedo agrupar por un valor obtenido del case??? Añado la consulta para que me podais entender mejor
Código:
select sum(r.totalfactura) as total,
case
    when DATEDIFF(day,r.fechafactura,r.fechavencimiento)='0' then 'contado'
    when DATEDIFF(day,r.fechafactura,r.fechavencimiento)>'0' and DATEDIFF(day,r.fechafactura,r.fechavencimiento)<'11' then 'contado'
    when DATEDIFF(day,r.fechafactura,r.fechavencimiento)>'0' and DATEDIFF(day,r.fechafactura,r.fechavencimiento)<'31' then 'de 001 a 030 dias'
    when DATEDIFF(day,r.fechafactura,r.fechavencimiento)>'30' and DATEDIFF(day,r.fechafactura,r.fechavencimiento)<'61' then 'de 031 a 060 dias'
    when DATEDIFF(day,r.fechafactura,r.fechavencimiento)>'60' and DATEDIFF(day,r.fechafactura,r.fechavencimiento)<'91' then 'de 061 a 090 dias'
    when DATEDIFF(day,r.fechafactura,r.fechavencimiento)>'90' and DATEDIFF(day,r.fechafactura,r.fechavencimiento)<'121' then 'de 091 a 120 dias'
    when DATEDIFF(day,r.fechafactura,r.fechavencimiento)>'120' and DATEDIFF(day,r.fechafactura,r.fechavencimiento)<'151' then 'de 121 a 150 dias'
    when DATEDIFF(day,r.fechafactura,r.fechavencimiento)>'150' and DATEDIFF(day,r.fechafactura,r.fechavencimiento)<'181' then 'de 151 a 180 dias'
    when DATEDIFF(day,r.fechafactura,r.fechavencimiento)>'180' and DATEDIFF(day,r.fechafactura,r.fechavencimiento)<'211' then 'de 181 a 210 dias'
    when DATEDIFF(day,r.fechafactura,r.fechavencimiento)>'210' and DATEDIFF(day,r.fechafactura,r.fechavencimiento)<'241' then 'de 211 a 240 dias'
    when DATEDIFF(day,r.fechafactura,r.fechavencimiento)>'240' and DATEDIFF(day,r.fechafactura,r.fechavencimiento)<'271' then 'de 241 a 270 dias'
    when DATEDIFF(day,r.fechafactura,r.fechavencimiento)>'270' and DATEDIFF(day,r.fechafactura,r.fechavencimiento)<'301' then 'de 271 a 100 dias'
    when DATEDIFF(day,r.fechafactura,r.fechavencimiento)>'300' and DATEDIFF(day,r.fechafactura,r.fechavencimiento)<'331' then 'de 301 a 330 dias'
    when DATEDIFF(day,r.fechafactura,r.fechavencimiento)>'300' and DATEDIFF(day,r.fechafactura,r.fechavencimiento)<'361' then 'de 331 a 360 dias'
    when DATEDIFF(day,r.fechafactura,r.fechavencimiento)>'360' then 'A mas de 360 dias'
    
end grupo
from  GDPARecibos r, GDPACabFacturas cf,GDPAClientes c
where r.codfactura = cf.codigo and r.serie='A' and cf.serie='A' and r.codcliente=c.codigo

group by DATEDIFF(day,r.fechafactura,r.fechavencimiento)
En realiadad necesito que me lo agrupe por grupo , pero si lo pongo me da un error de invalid comun name grupo
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 00:32.