[firebase-br] View com sum de outra tabela

Wilson Rosa wsrosa em gmail.com
Sex Mar 23 11:28:08 -03 2012


Anderson,

Tá fácil de resolver, basta acrescentar, exatamente, a mesma sentença que
vocẽ usa no campo calculado da tabela no SELECT da VIEW, vai ficar assim:

select
   A.CONTROLE,
   A.NUMCONTROLE,
   A.NUMNOTA,
   A.NUMPEDCOMPRA,
   A.CODFOR,
   A.NOMEFOR,
   A.DATAENT,
   A.TRANSPORTADORA,
   A.VLRTOTBRUTO,
   A.VLRTOTAL,
   A.DESCONTO,
   A.PERCENTUAL,
   A.VLRDESCONTO,
   A.ESPECIE,
   A.SERIE,
   A.ETIQUETAS,
   A.OBS,
   A.START,
   A.CODESTOQUE,
   A.DOLAROURO,
   A.ALTERA,
   A.NPEDFOR,
   A.VALORICMS,
   A.VALORIPI,
   A.VALORFRETE,
   A.VALORSEGURO,
   A.OUTRASDESPESAS,
   A.VLRICMSFRETE,
   A.CODTRANSACAO,
   A.NAT_OPER,
   A.MOEDA,
   A.CODFILIAL,
   A.ATIVO,
   A.STATUS,
   A.TIPO_DOC,
   A.TP_ENTRADA,
   A.VLRABATIMENTONTRIB,
   (
     select
        SUM(NFEI.BS_CALC_ICMS)
     from
        CADNOTACOMPRA2 NFEI
     where
        NFEI.CONTROLENOTA = A.CONTROLE
   )
from
   CADNOTACOMPRAS A

Assim, não será mais necessário usar a tabela CADNOTACOMPRA2 nem a cláusula
WHERE com o campo CONTROLE no SELECT principal.

Espero ter ajudado.


*Wilson Rosa
wsrosa em gmail.com
*
Desenvolvedor Desk
*Embras.NET*
Especialista em Gestão Pública


Em 22 de março de 2012 14:45, Anderson Junior
<andersonscinfo em gmail.com>escreveu:

> Boa tarde, pessoal estou com o seguinte problema, precizo fazer uma view
> de uma tabela simples, cadnotacompras e precizo dentro dessa view um campo
> calculado da tabela cadnotacompra2 (que é onde esta os itens ), precizo
> somar o valor total do bs_calc_icms, isso na tabela eu uso um campo
> calculado dessa forma:
>
>  (SELECT SUM(NFEI.BS_CALC_ICMS) FROM CADNOTACOMPRA2 NFEI,
>  CADNOTACOMPRAS NFE WHERE NFEI.CONTROLENOTA = NFE.CONTROLE)
>
> que vai me dar a informação, e pra jogar isso na view eu to tendo
> dificuldades, pois quero tirar essa operação da tabela e colocar na
> view....segue a forma que ja tentei
>
> CREATE VIEW VW_CADNOTACOMPRAS(
>    IACONTROLE,
>    IANUMCONTROLE,
>    IANUMNOTA,
>    IANUMPEDCOMPRA,
>    IACODFOR,
>    IANOMEFOR,
>    IADATAENT,
>    IATRANSPORTADORA,
>    IAVLRTOTBRUTO,
>    IAVLRTOTAL,
>    IADESCONTO,
>    IAPERCENTUAL,
>    IAVLRDESCONTO,
>    IAESPECIE,
>    IASERIE,
>    IAETIQUETAS,
>    IAOBS,
>    IASTART,
>    IACODESTOQUE,
>    IADOLAROURO,
>    IAALTERA,
>    IANPEDFOR,
>    IAVALORICMS,
>    IAVALORIPI,
>    IAVALORFRETE,
>    IAVALORSEGURO,
>    IAOUTRASDESPESAS,
>    IAVLRICMSFRETE,
>    IACODTRANSACAO,
>    IANAT_OPER,
>    IAMOEDA,
>    IACODFILIAL,
>    IAATIVO,
>    IASTATUS,
>    IATIPO_DOC,
>    IATP_ENTRADA,
>    IAVLRABATIMENTONTRIB,
>    IBBS_CALC_ICMS)
> AS
> select
>    A.CONTROLE,
>    A.NUMCONTROLE,
>    A.NUMNOTA,
>    A.NUMPEDCOMPRA,
>    A.CODFOR,
>    A.NOMEFOR,
>    A.DATAENT,
>    A.TRANSPORTADORA,
>    A.VLRTOTBRUTO,
>    A.VLRTOTAL,
>    A.DESCONTO,
>    A.PERCENTUAL,
>    A.VLRDESCONTO,
>    A.ESPECIE,
>    A.SERIE,
>    A.ETIQUETAS,
>    A.OBS,
>    A.START,
>    A.CODESTOQUE,
>    A.DOLAROURO,
>    A.ALTERA,
>    A.NPEDFOR,
>    A.VALORICMS,
>    A.VALORIPI,
>    A.VALORFRETE,
>    A.VALORSEGURO,
>    A.OUTRASDESPESAS,
>    A.VLRICMSFRETE,
>    A.CODTRANSACAO,
>    A.NAT_OPER,
>    A.MOEDA,
>    A.CODFILIAL,
>    A.ATIVO,
>    A.STATUS,
>    A.TIPO_DOC,
>    A.TP_ENTRADA,
>    A.VLRABATIMENTONTRIB,
>    (SUM(B.BS_CALC_ICMS))
> from CADNOTACOMPRAS A, CADNOTACOMPRA2 B WHERE A.CONTROLE = B.CONTROLENOTA;
>
> mas da erro na hora de compilar.....
> ;
>
> ______________________________**________________
> 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<http://www.firebase.com.br/fb/artigo.php?id=1107>
> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>



Mais detalhes sobre a lista de discussão lista