Inquiridor
duvida com pivot

Pergunta
-
boa tarde quero pedir a ajudar de alguem que possa ajudar eu a solucionar uma instrução de sql com pivot, abaixo segue o script
CREATE PROCEDURE [dbo].[GeraRelatorio] (@codTurma int) as
DECLARE @TOTALAULA INT
SET @TOTALAULA = (select sum(TOTALAULA) from TBAULA where CODAULA IN (SELECT CODAULA FROM vwLista WHERE CODTURMA = @codTurma))
select distinct (nome) as NOME,
[1] as '1/6/2011',
(select sum(TOTALTALTA) from vwLista where CPF = p.CPF and CODTURMA = p.CODTURMA) as [FALTAS],
@TOTALAULA AS [AULAS],
CONVERT(VARCHAR,(100-(select sum(TOTALTALTA) from vwLista where CPF = P.CPF and CODTURMA = p.CODTURMA)*100/@TOTALAULA)) + ' %' AS FREQ ,
CASE WHEN (100-(select sum(TOTALTALTA) from vwLista where CPF = P.CPF and CODTURMA = p.CODTURMA)*100/@TOTALAULA) >= 75 THEN 'AP' ELSE 'RP' END AS SIT
from vwLista as p PIVOT (SUM(TOTALTALTA)FOR cpf IN ([1])) as pvt order by pvt.NOME
procurei aki no forum e nao consegui achar nenhuma solução, obrigado
Todas as Respostas
-
William,
Mas qual é o problema? O que esta acontencendo de errado?
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com] -
-
-
o erro acontece na criação da procedure, segue erro abaixo
Mensagem 4104, Nível 16, Estado 1, Procedimento GeraRelatorio, Linha 12
O identificador de várias partes "p.CPF" não pôde ser associado.
Mensagem 4104, Nível 16, Estado 1, Procedimento GeraRelatorio, Linha 12
O identificador de várias partes "p.CODTURMA" não pôde ser associado.
Mensagem 4104, Nível 16, Estado 1, Procedimento GeraRelatorio, Linha 16
O identificador de várias partes "P.CPF" não pôde ser associado.
Mensagem 4104, Nível 16, Estado 1, Procedimento GeraRelatorio, Linha 16
O identificador de várias partes "p.CODTURMA" não pôde ser associado.
Mensagem 4104, Nível 16, Estado 1, Procedimento GeraRelatorio, Linha 19
O identificador de várias partes "P.CPF" não pôde ser associado.
Mensagem 4104, Nível 16, Estado 1, Procedimento GeraRelatorio, Linha 19
O identificador de várias partes "p.CODTURMA" não pôde ser associado.
-
William,
Veja a relação de erros que o SQL Server esta identificando nas linhas de código da sua procedure, erros na linha: 12, 16 e 19
Faça uma análise nas linhas que possuem a função Convert e o Operador Lógico Condicional Case.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]- Sugerido como Resposta Marcus Vinícius BittencourtMVP terça-feira, 20 de dezembro de 2011 10:37