[firebase-br] Problemas com CTE no View

Eduardo Jedliczka edujed em gmail.com
Seg Jun 13 13:31:18 -03 2011


Mas BAHHHH... nãos eria melhor ter feito uma SP ?

==========================
Eduardo Jedliczka
Apucarana - Pr
==========================




Em 13 de junho de 2011 12:17, Fabiano Moura <mctbrasil em gmail.com> escreveu:
> *Boa tarde!*
>
>  Tenho um CTE e criei uma view, utilizando ela, porém a view, não me mostra
> os resultados de algumas colunas do tipo numeric, mas se eu executar a mesma
> CTE fora da view, o resultado mostra todos os valores da coluna! Já mudei o
> CTE, só para teste e o resultado é o mesmo!
>
> O código da view é:
>
> *create view VW_PEDIDOXENTREGA (*
> *    PEDIDO,*
> *    CODIGO_FORNECEDOR,*
> *    FORNECEDOR,*
> *    DOC_SAF,*
> *    CODIGO_PRODUTO,*
> *    QTDE_PEDIDO,*
> *    UNID_MED,*
> *    QTDE_ENTREGUE)*
> *as*
> *with CTE_ESTORNO (DOCUMENTO)*
> *as (select DOCUMENTO_ESTORNO*
> *    from ESTORNO_NOTA_FISCAL*
> *    where EXCLUIR <> 'S'),*
> *CTE_COMPRA_TBREQUISICAO(DOCUMENTO, PEDIDO, CODIGO_FORNECEDOR) as (*
> *select R.DOCUMENTO, R.PEDIDO, R.ORIGEM_MOVIMENTO*
> *from REQUISICAO R*
> *where R.EXCLUIR <> 'S' and*
> *      R.TIPO_REQUISICAO = 'CO' and*
> *      R.PEDIDO is not null and*
> *      R.PEDIDO <> '0' and*
> *      R.DOCUMENTO not in (select DOCUMENTO*
> *                          from CTE_ESTORNO)*
> *group by R.DOCUMENTO, R.PEDIDO, R.ORIGEM_MOVIMENTO*
> *order by R.PEDIDO desc, R.DOCUMENTO desc),*
> *CTE_COMPRA_TBMOVIMENTO(DOCUMENTO, PEDIDO, CODIGO_FORNECEDOR) as (*
> *select distinct R.DOCUMENTO, M.PEDIDO, R.ORIGEM_MOVIMENTO*
> *from REQUISICAO R*
> *inner join MOVIMENTO M on R.DOCUMENTO = M.DOCUMENTO*
> *where R.EXCLUIR <> 'S' and*
> *      R.TIPO_REQUISICAO = 'CO' and*
> *      M.EXCLUIR <> 'S' and*
> *      M.PEDIDO is not null and*
> *      R.DOCUMENTO not in (select DOCUMENTO*
> *                          from CTE_ESTORNO)*
> *group by R.DOCUMENTO, M.PEDIDO, R.ORIGEM_MOVIMENTO*
> *order by M.PEDIDO desc, R.DOCUMENTO desc),*
> *CTE_COMPRA(DOCUMENTO, PEDIDO, CODIGO_FORNECEDOR) as (*
> *select TB1.DOCUMENTO, TB1.PEDIDO, TB1.CODIGO_FORNECEDOR*
> *from CTE_COMPRA_TBREQUISICAO TB1*
> *union all*
> *select TB2.DOCUMENTO, TB2.PEDIDO, TB2.CODIGO_FORNECEDOR*
> *from CTE_COMPRA_TBMOVIMENTO TB2),*
> *CTE_PEDIDOSXCOMPRA(PEDIDO, CODIGO_FORNECEDOR, DOCUMENTO) as (*
> *select PEDIDO, CODIGO_FORNECEDOR, DOCUMENTO*
> *from CTE_COMPRA*
> *group by PEDIDO, CODIGO_FORNECEDOR, DOCUMENTO*
> *order by PEDIDO desc, CODIGO_FORNECEDOR, DOCUMENTO desc),*
> *CTE_PEDIDOS(PEDIDO, CODIGO_FORNECEDOR, DOC_SAF, CODIGO_PRODUTO, QTDE,
> UNID_MED) as (*
> *select CTE1.PEDIDO, CTE1.CODIGO_FORNECEDOR, CTE1.DOCUMENTO, LVA.COD_PROD,
> LVA.QTDE, UM.ABREVIACAO*
> *from CTE_PEDIDOSXCOMPRA CTE1*
> *inner join LANCA_VAL LV on CTE1.PEDIDO = LV.NUM_SOLIC and
> CTE1.CODIGO_FORNECEDOR = LV.COD_FORNEC*
> *inner join LANCA_VALORES LVA on LV.NUM_SOLIC = LVA.NUM_SOLIC and
> LV.COD_FORNEC = LVA.COD_FORNEC*
> *inner join SOLIC_PRODUTO SP on LVA.NUM_SOLIC = SP.NUM_SOLIC and
> LVA.COD_PROD = SP.CODIGO_PRODUTO*
> *inner join UNIDADE_MEDIDA UM on SP.CODIGO_UNID_MEDIDA =
> UM.CODIGO_UNIDADE_MEDIDA*
> *where LVA.FLAG = 'V' and*
> *      LVA.EXCLUIR <> 'S' and*
> *      LV.EXCLUIR <> 'S'*
> *group by CTE1.PEDIDO, CTE1.CODIGO_FORNECEDOR, CTE1.DOCUMENTO, LVA.COD_PROD,
> LVA.QTDE, UM.ABREVIACAO*
> *order by CTE1.PEDIDO desc, CTE1.CODIGO_FORNECEDOR, CTE1.DOCUMENTO desc,
> LVA.COD_PROD),*
> *CTE_FINAL (PEDIDO, CODIGO_FORNECEDOR, FORNEC, DOC_SAF, CODIGO_PRODUTO,
> QTDE_PEDIDO, UNID_MED, QTDE_ENTREGUE) as*
> *(select CTE1.PEDIDO, CTE1.CODIGO_FORNECEDOR, F.NOME as FORNEC,
> CTE1.DOC_SAF, CTE1.CODIGO_PRODUTO,*
> *       cast(CTE1.QTDE as numeric(12,4)) as QTDE_PEDIDO, CTE1.UNID_MED,*
> *       cast(sum(M.QUANTIDADE * M.QTD_EMBALAGEM) as numeric(12,4)) as
> QTDE_ENTREGUE*
> *from CTE_PEDIDOS CTE1*
> *inner join REQUISICAO R on CTE1.DOC_SAF = R.DOCUMENTO and R.PEDIDO =
> CTE1.PEDIDO*
> *inner join MOVIMENTO M on R.DOCUMENTO = M.DOCUMENTO and CTE1.CODIGO_PRODUTO
> = M.CODIGO_PRODUTO*
> *inner join FORNECEDOR F on CTE1.CODIGO_FORNECEDOR = F.CODIGO*
> *group by CTE1.PEDIDO, CTE1.CODIGO_FORNECEDOR, F.NOME, CTE1.DOC_SAF,
> CTE1.CODIGO_PRODUTO, CTE1.QTDE, CTE1.UNID_MED)*
> *select PEDIDO, CODIGO_FORNECEDOR, FORNEC, DOC_SAF, CODIGO_PRODUTO,
> QTDE_PEDIDO, UNID_MED, QTDE_ENTREGUE*
> *  from CTE_FINAL*
>
>
>
>  Alguém poderia me ajudar?
>
>  *OBS:*
>    Estou utilizando o FB 2.5 Classic Server!
>
>
> *Obrigado,*
> *
> *
> *
> *
> *Fabiano*
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>




Mais detalhes sobre a lista de discussão lista