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

Se resuelve usando Group by y sum()?

Estas en el tema de Se resuelve usando Group by y sum()? en el foro de SQL Server en Foros del Web. Hola Gente: Tengo una vista(vw_Resumen), en la que debo sumar(SUM()) los valores de los campos numericos agrupados(group by) por el campo llamado "tema", teniendo en ...
  #1 (permalink)  
Antiguo 29/04/2008, 17:51
Avatar de horizonte  
Fecha de Ingreso: octubre-2005
Ubicación: A 50cm del Monitor(el angulo depende del estado de animo)
Mensajes: 148
Antigüedad: 18 años, 6 meses
Puntos: 1
Pregunta Se resuelve usando Group by y sum()?

Hola Gente:

Tengo una vista(vw_Resumen), en la que debo sumar(SUM()) los valores de los campos numericos agrupados(group by) por el campo llamado "tema", teniendo en cuenta que "tema" y "tema_01" son el mismo tema por ende tengo que evitar que me discrimine el "_01" para que sume ambas en el mismo grupo.

Lo primero que se me ocurrio fue actualizar(update) la vista, quitandole el "_01" y luego en otra consulta la agrupo(group by), pero el Update no es aplicable a las vistas(solo es aplicable a tablas). De esta forma no me queda otra que hacer la suma(SUM()) en la misma vista pero hasta ahora no tengo idea como evitar el "_01", para que me los sume dentro del mismo grupo.

Desde ya muchas gracias a quien puda aportar algo,
Saludos.
__________________
Mientras tanto aqui, en la Gran Ciudad...
Una nueva hora,...Comienza
:Zzz:
  #2 (permalink)  
Antiguo 29/04/2008, 18:03
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Se resuelve usando Group by y sum()?

group by left(campo, 4)
  #3 (permalink)  
Antiguo 29/04/2008, 18:26
Avatar de horizonte  
Fecha de Ingreso: octubre-2005
Ubicación: A 50cm del Monitor(el angulo depende del estado de animo)
Mensajes: 148
Antigüedad: 18 años, 6 meses
Puntos: 1
Pregunta Re: Se resuelve usando Group by y sum()?

Cita:
Iniciado por iislas Ver Mensaje
group by left(campo, 4)
Hola iislas:

Por lo que averigue esa variante de group by agrupa el campo solo teniendo en cuenta sus 4 primeros caracteres contando de la izquierda.

El tema que el campo por el que debo agrupar("tema") tiene longitud variable, es decir los valores de "tema" son: "teoria simple", "teoria simple 01", "practica compuesta", "practica compuesta 01", "relacion simple", "relacion simple 01",....y asi con todos los temas de la tabla.

A mi se me hace que debo 1° ordenar por dicho campo y luego usar los IF(), pero la veo complicada.

Desde ya muchas gracias,
Saludos.
__________________
Mientras tanto aqui, en la Gran Ciudad...
Una nueva hora,...Comienza
:Zzz:
  #4 (permalink)  
Antiguo 30/04/2008, 10:41
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Re: Se resuelve usando Group by y sum()?

Si los temas terminan en '01', entonces quita ese 01 con
Código:
LEFT( tema , LEN(tema) - CASE WHEN CHARINDEX ( '01' , tema ) = 0 THEN 0 ELSE 2 END )
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.

Última edición por flaviovich; 30/04/2008 a las 10:47
  #5 (permalink)  
Antiguo 30/04/2008, 11:47
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Se resuelve usando Group by y sum()?

http://www.sindominio.net/ayuda/preg...eligentes.html
  #6 (permalink)  
Antiguo 02/05/2008, 21:49
Avatar de horizonte  
Fecha de Ingreso: octubre-2005
Ubicación: A 50cm del Monitor(el angulo depende del estado de animo)
Mensajes: 148
Antigüedad: 18 años, 6 meses
Puntos: 1
De acuerdo Re: Se resuelve usando Group by y sum()?

Cita:
Iniciado por flaviovich Ver Mensaje
Si los temas terminan en '01', entonces quita ese 01 con
Código:
LEFT( tema , LEN(tema) - CASE WHEN CHARINDEX ( '01' , tema ) = 0 THEN 0 ELSE 2 END )
Gracias por la ayuda, funciono barbaro.

iislas:

Lei algo del link que posteastes, y coincido en casi todo, salvo que los manuales no me los leo de ppio a fin, muchos dicen que hay cosas que no las aprendes hasta que las necesitas.

Muchas gracias a ambos!,
Saludos.
__________________
Mientras tanto aqui, en la Gran Ciudad...
Una nueva hora,...Comienza
:Zzz:
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:51.