TABLA DE REFERENCIA CRUZADA CON FUNCIÓN PIVOT

Microsoft: «PIVOT gira una expresión con valores de tabla convirtiendo los valores únicos de una columna de la expresión en varias columnas en la salida y realiza agregaciones donde son necesarias en cualquier valor de columna restante que se desee en la salida final».

4 comentarios en «TABLA DE REFERENCIA CRUZADA CON FUNCIÓN PIVOT»

  • el 2012-02-28 a las 20:32
    Enlace permanente

    Referente a la funcion PIVOT, utilice el mismo ejemplo con la base de datos Northwind:

    USE NORTHWIND
    GO

    SELECT * FROM

    (
    SELECT c.CustomerID, p.ProductName, od.quantity
    FROM
    Customers as c INNER JOIN Orders o on c.CustomerID = o.CustomerID
    INNER JOIN [Order Details] od ON o.OrderID = od.OrderID INNER JOIN
    Products p ON od.ProductID = p.ProductID
    ) AS T

    PIVOT (SUM(t.quantity) FOR t.productname IN ([Spegesild],[Flotemysost],[Queso Cabrales],[Geitost])) PVT

    el resultado dio lo que se necesitaba haciendo que cada producto en el listado de IN fuera su propia columna. sumando los productos que cada cliente compro.

    Ahora bien, si un cliente no habia comprado nada daba como resultado NULL. Es posible utilizar una funcion como ISNULL para devolver otro valor? intente colocar ISNULL de varias maneras, pero no logre hacerlo. Quizas me podria ayudar a poder colocar esta funcion dentro de este ejemplo de query?

    Gracias!

    Carne 05184007

    Respuesta
  • el 2014-10-02 a las 19:24
    Enlace permanente

    el código ejemplo esta muy bien pero lo que yo quierno que después del pivot no me sume mas bien que me envie todos los datos que existe

    PIVOT (SUM(Cant) FOR producto

    ejemplo
    si carlos tiene bicicleta 3 y 5 quiero q me muestre el 3 y el 5 en el pivot sin que lo sume

    no quiero que sume nada
    lo que necesito es que si hay un producto quiero ver todas sus cantidades
    gracais

    Respuesta

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.