Estou tentando usar o comando "pivot" no SQL, mas estou encontrando dificuldades. Queria saber se vocês podem me dar uma ajuda.
A ideia é transformar as linhas e uma base em colunas. Então o meu programa está da seguinte forma:
SELECT BASE_INICIAL.CC,
[000000002814] as Prod1,
[2815] as Prod2,
[000000002816] as Prod3,
[000000002817] as Prod4
FROM (SELECT DISTINCT LV.CC, LVP.CB
FROM P INNER JOIN (LVP INNER JOIN LV ON LVP.T = LV.T) ON P.PROD = LVP.PROD
WHERE P.GRIFE IN ('RES', 'BALAS','RESMI','BEB','PENTA', '406','ARI')
AND P.COL IN ('01', '25')
AND LVP.DTV > '01/01/2014'
GROUP BY LV.CC, LVP.CB) as BASE_INICIAL
PIVOT (COUNT(BASE_INICIAL.CC)
FOR BASE_INICIAL.CB IN (
[000000002814],
[2815],
[000000002816],
[000000002817] )) as BASE_FINAL;
No entanto o programa diz: "The multi-part identifier "BASE_INICIAL.CC" could not be bound", se referindo ao primeiro BASE_INICIAL.CC, logo ao lado do primeiro select.
PIVOT - SQL Server
em Lógica de Programação
Postado
Pessoal,
Boa tarde!
Estou tentando usar o comando "pivot" no SQL, mas estou encontrando dificuldades. Queria saber se vocês podem me dar uma ajuda.
A ideia é transformar as linhas e uma base em colunas. Então o meu programa está da seguinte forma:
SELECT BASE_INICIAL.CC,
[000000002814] as Prod1,
[2815] as Prod2,
[000000002816] as Prod3,
[000000002817] as Prod4
FROM (SELECT DISTINCT LV.CC, LVP.CB
FROM P INNER JOIN (LVP INNER JOIN LV ON LVP.T = LV.T) ON P.PROD = LVP.PROD
WHERE P.GRIFE IN ('RES', 'BALAS','RESMI','BEB','PENTA', '406','ARI')
AND P.COL IN ('01', '25')
AND LVP.DTV > '01/01/2014'
GROUP BY LV.CC, LVP.CB) as BASE_INICIAL
PIVOT (COUNT(BASE_INICIAL.CC)
FOR BASE_INICIAL.CB IN (
[000000002814],
[2815],
[000000002816],
[000000002817] )) as BASE_FINAL;
No entanto o programa diz: "The multi-part identifier "BASE_INICIAL.CC" could not be bound", se referindo ao primeiro BASE_INICIAL.CC, logo ao lado do primeiro select.