none
Pivot com Subquerie RRS feed

  • Pergunta

  •  

    Olá


    Porque o segundo pivot não funciona? Alguém pode me ajudar?


    CREATE
    TABLE Product(Cust VARCHAR(25), Product VARCHAR(20), QTY INT)

    GO

    -- Inserting Data into Table

    INSERT INTO Product(Cust, Product, QTY)

    VALUES('KATE','VEG',2)

    INSERT INTO Product(Cust, Product, QTY)

    VALUES('KATE','SODA',6)

    INSERT INTO Product(Cust, Product, QTY)

    VALUES('KATE','MILK',1)

    INSERT INTO Product(Cust, Product, QTY)

    VALUES('KATE','BEER',12)

    INSERT INTO Product(Cust, Product, QTY)

    VALUES('FRED','MILK',3)

    INSERT INTO Product(Cust, Product, QTY)

    VALUES('FRED','BEER',24)

    INSERT INTO Product(Cust, Product, QTY)

    VALUES('KATE','VEG',3)

     

     

    SELECT *

    FROM Product

    go

    SELECT *

    FROM (

    SELECT CUST, PRODUCT, QTY

    FROM Product) up

    PIVOT (SUM(QTY) FOR CUST IN (fred, kate)) AS pvt

    ORDER BY PRODUCT

    GO

    -- Pivot Table ordered by PRODUCT

    SELECT *

    FROM (

    SELECT CUST, PRODUCT, QTY

    FROM Product) up

    PIVOT (SUM(QTY) FOR CUST IN (select distinct(cust) from product)) AS pvt

    ORDER BY PRODUCT


    Maurício

    quarta-feira, 25 de março de 2009 21:14

Respostas

  • Boa tarde,

    Esse problema está ocorrendo pelo fato do PIVOT FOR suportar somente a lista de colunas e não uma subquery, dê uma olhada no Books Online.


    Abraço,
    Rodrigo Fernandes - Este post foi útil pra vc? Então marque-o como tal.
    • Marcado como Resposta maumauboy quinta-feira, 26 de março de 2009 18:36
    quinta-feira, 26 de março de 2009 18:04
  • Maumauboy,

    Realmente é isso mesmo, quanto trabalhamos com Pivot, a claúsula For referenciada no Pivot não permite receber valor que esta sendo retornados por um subquery.

    Como normalmente uma subquery deverá retornar mais de uma linha de registro, o comando Pivot não consegui capturar estes valores e direcionar para Query principal.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    • Marcado como Resposta maumauboy quinta-feira, 26 de março de 2009 18:36
    quinta-feira, 26 de março de 2009 18:33

Todas as Respostas