SQL - CASE WHEN y unión de resultados comunes

   
Vista:

CASE WHEN y unión de resultados comunes

Publicado por JGonzalez (19 intervenciones) el 30/10/2015 17:35:54
Buenas, me surge la siguiente consulta con el SQL Server. Quiero utilizar un Case When y al mismo tiempo sumar los resultados comunes de una tabla. Algo tal que así.

Tabla Uso: Id_Uso / Nombre
101 Libros
102 Cuadernos
103 Folios
104 Rotuladores
105 Lapices

Tabla Elementos: Id_Compra / Id_Elementos / Id_Uso

1 10 101
1 20 102
1 20 103
1 30 104
1 20 105
1 30 102
1 40 101

Necesitaría una consulta en la que usando el CASE WHEN me uniera los ID_Elementos iguales y pusiera un Id_Uso cualquiera.

De modo que por ejemplo quede algo así:

CASE WHEN Id_Uso=1 THEN 'LIB'
WHEN Id_Uso=2 THEN 'CUA'
WHEN Id_Uso=3 THEN 'FOL'
WHEN Id_Uso=4 THEN 'ROT'
WHEN Id_Uso=5 THEN 'LAP'

Resultado, sin repetir Id_Elementos:
1 10 LIB
1 20 FOL
1 30 CUA
1 40 LIB

Muchas Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

CASE WHEN y unión de resultados comunes

Publicado por Isaias (690 intervenciones) el 30/10/2015 17:48:48
Tal vez....


1
2
3
4
5
SUM(CASE WHEN Id_Uso=1 THEN Tucolumna END) AS 'LIB',
SUM(CASE WHEN Id_Uso=2 THEN Tucolumna END) AS 'CUA',
SUM(CASE WHEN Id_Uso=3 THEN Tucolumna END) AS 'FOL',
SUM(CASE WHEN Id_Uso=4 THEN Tucolumna END) AS 'ROT',
SUM(CASE WHEN Id_Uso=5 THEN Tucolumna END) AS 'LAP'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

CASE WHEN y unión de resultados comunes

Publicado por JGonzalez (19 intervenciones) el 04/11/2015 19:49:54
Muchas gracias Isaias, he utilizado finalmente el modo de actuar de kristian
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CASE WHEN y unión de resultados comunes

Publicado por khristian (4 intervenciones) el 30/10/2015 17:51:03
Estas haciéndolo al revés.

Deberías primero obtener los resultados de mas sumas, agrupados por Id_Uso.
Así tendrás los totales para cada Id_Uso.

Ese Id_Uso debe existir en alguna tabla, y debe tener asociado algun identificador, nombre o descripcion...(LIB, CUA, etc...)

Si no lo tiene.... créalo. Así solo cruzas los resultados con esa tabla para acceder a las descripciones cortas (LIB, CUA, etc...)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

CASE WHEN y unión de resultados comunes

Publicado por JGonzalez (19 intervenciones) el 04/11/2015 19:51:39
Muchas gracias Kristian, me ha servido tu idea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar