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

Ayuda para modificar query

Estas en el tema de Ayuda para modificar query en el foro de SQL Server en Foros del Web. Hola antes que nada espero que todos esten bien, tengo la siguiente consulta que me genera un tipo reporte Código: SELECT medio, promotor, COUNT (*) ...
  #1 (permalink)  
Antiguo 11/11/2009, 12:00
 
Fecha de Ingreso: octubre-2009
Mensajes: 14
Antigüedad: 14 años, 6 meses
Puntos: 0
Busqueda Ayuda para modificar query

Hola antes que nada espero que todos esten bien, tengo la siguiente consulta que me genera un tipo reporte

Código:
SELECT medio, promotor, COUNT (*) AS total 
        FROM (   SELECT   CASE a.userAsignado 
			        WHEN '' THEN 'Sin promotor' 
			        ELSE ISNULL(a.userAsignado, 'Sin promotor') 
        END AS promotor, 
        CASE c.strMedio 
       WHEN 'Llamada telefónica' THEN 'Bolsa general' 
       WHEN 'Contacto personal' THEN 'Contacto personal'  
        WHEN 'E-mail' THEN 'Bolsa general' 
        WHEN 'Fax' THEN 'Bolsa general' 
        WHEN 'Página' THEN 'Bolsa general' 
       WHEN 'Visita del interesado' THEN 'Bolsa general'
        WHEN 'Hoja paja por correo' THEN 'Bolsa general' 
        WHEN 'Expo Management 2004' THEN 'Bolsa general' 
        WHEN 'MEDE' THEN 'Bolsa general' 
        WHEN 'PERFECCIONAMIENTO' THEN 'Bolsa general'
        ELSE ISNULL(c.strMedio, 'Vacio') 
	      END AS medio 
	        FROM cdimx_controlsolicitudes a 
		        LEFT JOIN cdimx_candidatos b 
			        ON a.idSolicitud = b.intSolicitud 
		        LEFT JOIN cdimx_c_medios c 
			        ON b.intMedio = c.intId 
	        WHERE idSolicitud >= 19000 
	        ) AS a 
        GROUP BY promotor, medio 
        ORDER BY medio, promotor, total
Que me arroja el siguiente resultado:

Código:
medio                 promotor            total

Bolsa general      gdelcarmen         73
Bolsa general      jfuentes              37
Bolsa general      jllaguno               46
Bolsa general      larias                   41
Bolsa general      melizaga              45
Bolsa general      myr.moreno         41
Bolsa general      mzavala               23
Bolsa general      rmanriquez          37
Bolsa general      Sin promotor         5
Contacto personal   alacavex           1
Contacto persnal     gdelcarmen      18
Contacto personal   jfuentes            9
Contacto personal   jllaguno             7
Contacto personal   larias                 7
Contacto personal   melizaga           29
Contacto personal   myr.moreno      13
Contacto personal   mzavala            38
Contacto personal   rmanriquez       18
Contacto personal   Sin promotor      1
Hoja paja                 alacavex            1
Hoja paja                 gdelcarmen        7
Hoja paja                 jfuentes            10
Hoja paja                 jllaguno              7
Hoja paja                 larias                  7
Hoja paja                 melizaga           10
Hoja paja                 myr.moreno      16
Hoja paja                 mzavala              6
Hoja paja                 rmanriquez          7
Vacio                        Sin promotor     13

Mi pregunta es como puedo arregla el query a manera de que los resultados me queden de la siguiente manera

Código:
                              gdelcarmen     jfuentes       jllaguno   larias   melizaga

BolsaGeneral                 73               37              46           41          45
Hoja paja                       18                9                  7             7           29
Vacio                               7                 10                7             7           10

Es decir que me quede el campo medio del lado izquierdo, los promotores arriba y las cifras de cada uno.

Espero me puedan ayudar muchas gracias
  #2 (permalink)  
Antiguo 11/11/2009, 12:22
Avatar de Thumper  
Fecha de Ingreso: agosto-2004
Ubicación: Jesús María - Lima - Perú
Mensajes: 270
Antigüedad: 19 años, 8 meses
Puntos: 6
Respuesta: Ayuda para modificar query

Espero que te sirva este link:

http://www.elguille.info/colabora/NE...ot_SQL2005.htm

saludos
__________________
Martín Alexis Valdivia S.
-----------------------------
"Quisiéramos cambiar el mundo, pero Dios no nos daría el código fuente." CAP
"Si Saber No Es Un Derecho, Seguro Será Un Izquierdo." WD
  #3 (permalink)  
Antiguo 11/11/2009, 12:27
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Ayuda para modificar query

Si usas SQL 2000 prueba asi:
Código:
SELECT medio,
    SUM(CASE WHEN promotor = 'gdelcarmen' THEN total ELSE 0 END) [gdelcarmen],
    SUM(CASE WHEN promotor = 'jfuentes' THEN total ELSE 0 END) [jfuentes],
    SUM(CASE WHEN promotor = 'jllaguno' THEN total ELSE 0 END) [jllaguno],
    SUM(CASE WHEN promotor = 'larias' THEN total ELSE 0 END) [larias],
    SUM(CASE WHEN promotor = 'melizaga' THEN total ELSE 0 END) [melizaga]
FROM (
    SELECT medio, promotor, COUNT (*) AS total 
    FROM (
        SELECT CASE WHEN a.userAsignado = '' THEN 'Sin promotor' ELSE ISNULL(a.userAsignado, 'Sin promotor') END AS promotor, 
        CASE c.strMedio 
            WHEN 'Llamada telefónica' THEN 'Bolsa general' 
            WHEN 'Contacto personal' THEN 'Contacto personal'  
            WHEN 'E-mail' THEN 'Bolsa general' 
            WHEN 'Fax' THEN 'Bolsa general' 
            WHEN 'Página' THEN 'Bolsa general' 
            WHEN 'Visita del interesado' THEN 'Bolsa general'
            WHEN 'Hoja paja por correo' THEN 'Bolsa general' 
            WHEN 'Expo Management 2004' THEN 'Bolsa general' 
            WHEN 'MEDE' THEN 'Bolsa general' 
            WHEN 'PERFECCIONAMIENTO' THEN 'Bolsa general'
            ELSE ISNULL(c.strMedio, 'Vacio') 
        END AS medio 
        FROM cdimx_controlsolicitudes a 
        LEFT JOIN cdimx_candidatos b ON a.idSolicitud = b.intSolicitud 
        LEFT JOIN cdimx_c_medios c ON b.intMedio = c.intId 
        WHERE idSolicitud >= 19000 
    ) AS a 
    GROUP BY promotor, medio
) T
ORDER BY medio
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #4 (permalink)  
Antiguo 11/11/2009, 13:30
 
Fecha de Ingreso: octubre-2009
Mensajes: 14
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda para modificar query

Excelente informacion me va a ser de gran utilidad muchisimas gracias bro.
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:09.