CREATE OR ALTER VIEW VWMATRIZ( CODIGO, DESCRICAO, LARGURA_MANTA, OBSERVACAO,
TAMANHO_DESCRICAO, TAMANHO, QUANTIDADE, LARGURA, COMPRIMENTO, LARG_X_COMP, PLACA, SOBRA, COEFICIENTE, CONSUMO_ML, TOTAL)
AS
SELECT Z.CODIGO, Z.DESCRICAO,
Z.LARGURA_MANTA, Z.OBSERVACAO,
Z.TAMANHO_DESCRICAO, Z.TAMANHO,
CAST(Z.QUANTIDADE AS NUMERIC(15,2)) AS QUANTIDADE,
CAST(Z.LARGURA AS NUMERIC(15,3)) AS LARGURA,
CAST(Z.COMPRIMENTO AS NUMERIC(15,2)) AS COMPRIMENTO,
CAST(Z.LARGURA AS NUMERIC(15,3))||' X '||CAST(Z.COMPRIMENTO AS NUMERIC(15,2))LARG_X_COMP,
CAST(Z.PLACA AS NUMERIC(15,2)) AS PLACA,
CAST(Z.SOBRA AS NUMERIC(15,2)) AS SOBRA,
CAST(Z.COEFICIENTE AS NUMERIC(15,2)) AS COEFICIENTE,
IIF(Z.COEFICIENTE > 0,CAST(1/Z.COEFICIENTE AS NUMERIC(15,2)),0 ) AS CONSUMO_ML,
AVG(IIF(Z.COEFICIENTE > 0,CAST(1/Z.COEFICIENTE AS NUMERIC(15,4)),0 )) OVER (PARTITION BY Z.CODIGO) TOTAL

 FROM( select FN_LPAD(X.CODIGO,4,'0') AS CODIGO,
            X.DESCRICAO, X.LARGURA AS LARGURA_MANTA,X.OBSERVACAO,
            Y.TAMANHO_DESCRICAO, Y.TAMANHO,
        
            IIF(Y.TAMANHO = 1, X.QUANTIDADE_T01,
            IIF(Y.TAMANHO = 2, X.QUANTIDADE_T02,
            IIF(Y.TAMANHO = 3, X.QUANTIDADE_T03,
            IIF(Y.TAMANHO = 4, X.QUANTIDADE_T04,
            IIF(Y.TAMANHO = 5, X.QUANTIDADE_T05,
            IIF(Y.TAMANHO = 6, X.QUANTIDADE_T06,
            IIF(Y.TAMANHO = 7, X.QUANTIDADE_T07,
            IIF(Y.TAMANHO = 8, X.QUANTIDADE_T08,
            IIF(Y.TAMANHO = 9, X.QUANTIDADE_T09,
            IIF(Y.TAMANHO = 10,X.QUANTIDADE_T10,
            IIF(Y.TAMANHO = 11,X.QUANTIDADE_T11,
            IIF(Y.TAMANHO = 12,X.QUANTIDADE_T12,
            IIF(Y.TAMANHO = 13,X.QUANTIDADE_T13,
            IIF(Y.TAMANHO = 14,X.QUANTIDADE_T14,
            IIF(Y.TAMANHO = 15,X.QUANTIDADE_T15,
            IIF(Y.TAMANHO = 16,X.QUANTIDADE_T16,
            IIF(Y.TAMANHO = 17,X.QUANTIDADE_T17,
            IIF(Y.TAMANHO = 18,X.QUANTIDADE_T18,
            IIF(Y.TAMANHO = 19,X.QUANTIDADE_T19,
            IIF(Y.TAMANHO = 20,X.QUANTIDADE_T20,0)))))))))))))))))))) AS QUANTIDADE,
        
            IIF(Y.TAMANHO = 1, X.LARGURA_T01,
            IIF(Y.TAMANHO = 2, X.LARGURA_T02,
            IIF(Y.TAMANHO = 3, X.LARGURA_T03,
            IIF(Y.TAMANHO = 4, X.LARGURA_T04,
            IIF(Y.TAMANHO = 5, X.LARGURA_T05,
            IIF(Y.TAMANHO = 6, X.LARGURA_T06,
            IIF(Y.TAMANHO = 7, X.LARGURA_T07,
            IIF(Y.TAMANHO = 8, X.LARGURA_T08,
            IIF(Y.TAMANHO = 9, X.LARGURA_T09,
            IIF(Y.TAMANHO = 10,X.LARGURA_T10,
            IIF(Y.TAMANHO = 11,X.LARGURA_T11,
            IIF(Y.TAMANHO = 12,X.LARGURA_T12,
            IIF(Y.TAMANHO = 13,X.LARGURA_T13,
            IIF(Y.TAMANHO = 14,X.LARGURA_T14,
            IIF(Y.TAMANHO = 15,X.LARGURA_T15,
            IIF(Y.TAMANHO = 16,X.LARGURA_T16,
            IIF(Y.TAMANHO = 17,X.LARGURA_T17,
            IIF(Y.TAMANHO = 18,X.LARGURA_T18,
            IIF(Y.TAMANHO = 19,X.LARGURA_T19,
            IIF(Y.TAMANHO = 20,X.LARGURA_T20,0)))))))))))))))))))) AS LARGURA,
            
            IIF(Y.TAMANHO = 1, X.COMPRIMENTO_T01,
            IIF(Y.TAMANHO = 2, X.COMPRIMENTO_T02,
            IIF(Y.TAMANHO = 3, X.COMPRIMENTO_T03,
            IIF(Y.TAMANHO = 4, X.COMPRIMENTO_T04,
            IIF(Y.TAMANHO = 5, X.COMPRIMENTO_T05,
            IIF(Y.TAMANHO = 6, X.COMPRIMENTO_T06,
            IIF(Y.TAMANHO = 7, X.COMPRIMENTO_T07,
            IIF(Y.TAMANHO = 8, X.COMPRIMENTO_T08,
            IIF(Y.TAMANHO = 9, X.COMPRIMENTO_T09,
            IIF(Y.TAMANHO = 10,X.COMPRIMENTO_T10,
            IIF(Y.TAMANHO = 11,X.COMPRIMENTO_T11,
            IIF(Y.TAMANHO = 12,X.COMPRIMENTO_T12,
            IIF(Y.TAMANHO = 13,X.COMPRIMENTO_T13,
            IIF(Y.TAMANHO = 14,X.COMPRIMENTO_T14,
            IIF(Y.TAMANHO = 15,X.COMPRIMENTO_T15,
            IIF(Y.TAMANHO = 16,X.COMPRIMENTO_T16,
            IIF(Y.TAMANHO = 17,X.COMPRIMENTO_T17,
            IIF(Y.TAMANHO = 18,X.COMPRIMENTO_T18,
            IIF(Y.TAMANHO = 19,X.COMPRIMENTO_T19,
            IIF(Y.TAMANHO = 20,X.COMPRIMENTO_T20,0)))))))))))))))))))) AS COMPRIMENTO,
            
            IIF(Y.TAMANHO = 1, X.PLACA_T01,
            IIF(Y.TAMANHO = 2, X.PLACA_T02,
            IIF(Y.TAMANHO = 3, X.PLACA_T03,
            IIF(Y.TAMANHO = 4, X.PLACA_T04,
            IIF(Y.TAMANHO = 5, X.PLACA_T05,
            IIF(Y.TAMANHO = 6, X.PLACA_T06,
            IIF(Y.TAMANHO = 7, X.PLACA_T07,
            IIF(Y.TAMANHO = 8, X.PLACA_T08,
            IIF(Y.TAMANHO = 9, X.PLACA_T09,
            IIF(Y.TAMANHO = 10,X.PLACA_T10,
            IIF(Y.TAMANHO = 11,X.PLACA_T11,
            IIF(Y.TAMANHO = 12,X.PLACA_T12,
            IIF(Y.TAMANHO = 13,X.PLACA_T13,
            IIF(Y.TAMANHO = 14,X.PLACA_T14,
            IIF(Y.TAMANHO = 15,X.PLACA_T15,
            IIF(Y.TAMANHO = 16,X.PLACA_T16,
            IIF(Y.TAMANHO = 17,X.PLACA_T17,
            IIF(Y.TAMANHO = 18,X.PLACA_T18,
            IIF(Y.TAMANHO = 19,X.PLACA_T19,
            IIF(Y.TAMANHO = 20,X.PLACA_T20,0)))))))))))))))))))) AS PLACA,
            
            IIF(Y.TAMANHO = 1, X.SOBRA_T01,
            IIF(Y.TAMANHO = 2, X.SOBRA_T02,
            IIF(Y.TAMANHO = 3, X.SOBRA_T03,
            IIF(Y.TAMANHO = 4, X.SOBRA_T04,
            IIF(Y.TAMANHO = 5, X.SOBRA_T05,
            IIF(Y.TAMANHO = 6, X.SOBRA_T06,
            IIF(Y.TAMANHO = 7, X.SOBRA_T07,
            IIF(Y.TAMANHO = 8, X.SOBRA_T08,
            IIF(Y.TAMANHO = 9, X.SOBRA_T09,
            IIF(Y.TAMANHO = 10,X.SOBRA_T10,
            IIF(Y.TAMANHO = 11,X.SOBRA_T11,
            IIF(Y.TAMANHO = 12,X.SOBRA_T12,
            IIF(Y.TAMANHO = 13,X.SOBRA_T13,
            IIF(Y.TAMANHO = 14,X.SOBRA_T14,
            IIF(Y.TAMANHO = 15,X.SOBRA_T15,
            IIF(Y.TAMANHO = 16,X.SOBRA_T16,
            IIF(Y.TAMANHO = 17,X.SOBRA_T17,
            IIF(Y.TAMANHO = 18,X.SOBRA_T18,
            IIF(Y.TAMANHO = 19,X.SOBRA_T19,
            IIF(Y.TAMANHO = 20,X.SOBRA_T20,0)))))))))))))))))))) AS SOBRA,
            
            IIF(Y.TAMANHO = 1, X.COEFICIENTE_T01,
            IIF(Y.TAMANHO = 2, X.COEFICIENTE_T02,
            IIF(Y.TAMANHO = 3, X.COEFICIENTE_T03,
            IIF(Y.TAMANHO = 4, X.COEFICIENTE_T04,
            IIF(Y.TAMANHO = 5, X.COEFICIENTE_T05,
            IIF(Y.TAMANHO = 6, X.COEFICIENTE_T06,
            IIF(Y.TAMANHO = 7, X.COEFICIENTE_T07,
            IIF(Y.TAMANHO = 8, X.COEFICIENTE_T08,
            IIF(Y.TAMANHO = 9, X.COEFICIENTE_T09,
            IIF(Y.TAMANHO = 10,X.COEFICIENTE_T10,
            IIF(Y.TAMANHO = 11,X.COEFICIENTE_T11,
            IIF(Y.TAMANHO = 12,X.COEFICIENTE_T12,
            IIF(Y.TAMANHO = 13,X.COEFICIENTE_T13,
            IIF(Y.TAMANHO = 14,X.COEFICIENTE_T14,
            IIF(Y.TAMANHO = 15,X.COEFICIENTE_T15,
            IIF(Y.TAMANHO = 16,X.COEFICIENTE_T16,
            IIF(Y.TAMANHO = 17,X.COEFICIENTE_T17,
            IIF(Y.TAMANHO = 18,X.COEFICIENTE_T18,
            IIF(Y.TAMANHO = 19,X.COEFICIENTE_T19,
            IIF(Y.TAMANHO = 20,X.COEFICIENTE_T20,0)))))))))))))))))))) AS COEFICIENTE
        
         from( Select A.* From TbMatriz A
            Order By A.Descricao)X,
            SP_GRADE_TAMANHO(x.GRADE_CODIGO) Y ) Z WHERE Z.QUANTIDADE > 0
