none
pivote sql server RRS feed

  • Pregunta

  • Buena tarde tengo una duda, estoy realizando un pivote este es mi código

    SELECT nombre,clave, [1] AS 'Enero' , [2] AS 'Febrero'
    FROM
        (
            SELECT nombre,mes,clave,valor
            FROM tabla1
            group by nombre,mes,clave,valor
        ) up
    PIVOT (MAX(valor) FOR mes IN ([1],[2])) AS pvt

    ------tabla------

    nombre    clave        mes        valor

    juan           20           1          1000

    juan           30           2          1000

    mi resultado al ejecutar pivote es el siguiente:

    nombre    clave    enero      febrero

    juan           20       1000         s/c

    juan           30         s/c          1000

    es posible acodar esta información en un solo renglón, que quedara así mi resultado:

    nombre    clave    enero      febrero     clave    enero      febrero

    juan           20       1000         s/c         30         s/c          1000

    GRACIAS POR EL APOYO QUE ME PUEDAN BRINDAR !!!!!!!!!!!!!!

    • Editado killer1923 martes, 7 de febrero de 2017 18:33 AGRADESER
    martes, 7 de febrero de 2017 18:32

Respuestas

  • Si lo deseas hacer con el operador PIVOT entonces sera mas engorroso ya que este operador no permite agregar multiples columnas en una sola operacion.

    Sin embargo, si usas la forma comun de pivotear filas a columnas, lo cual incluye:

    - agrupar (group by)
    - regar valores (expresion CASE)
    - agregar (sum/min/max/etc.)

    select
        nombre,
        max(case when clave = 20 then clave end) as clave,
        max(case when clave = 20 and mes = 1 then valor end) as enero,
        max(case when clave = 20 and mes = 2 then valor end) as febrero,
        max(case when clave = 30 then clave end) as clave,
        max(case when clave = 30 and mes = 1 then valor end) as enero,
        max(case when clave = 30 and mes = 2 then valor end) as febrero
    from tabla
    group by nombre;

    Si lo deseas de forma dinamica entonces tendras que recurrir a sql dinamico. Busca en este mismo foro por "pivot dinamico" que encontraras varios hilos al respecto.


    AMB

    Some guidelines for posting questions...

    AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas

    • Marcado como respuesta killer1923 martes, 7 de febrero de 2017 19:35
    martes, 7 de febrero de 2017 19:23

Todas las respuestas