[firebase-br] Parametros em View, é possivel?

Eduardo Jedliczka jedyfb em gmail.com
Qua Abr 29 19:57:45 -03 2009


VIEW não aceita parâmetros.

Além do mais, para o que você quer fazer a melhor solução é uma Stored
Procedure (faça um select uma vez só e acumule o retorno em diferentes
colunas)

Abraço

Eduardo Jedliczka

Em Qua, 2009-04-29 às 19:01 -0300, Wellington Melo escreveu:

> Boa Noite pessoal,
> Estou querendo criar uma view com e seguite consulta abaixo, mas precisarei
> passar os parametros DATAINI e DATAFIM, gostaria de saber se é possível ou
> se tem uma solução melhor.
> 
> SELECT
> P.PES_NOME,
>  (SELECT SUM(D1.VALOR_BRUTO) FROM VI_DEDUCOES D1 WHERE (D1.PES_CODIGO =
> S.PES_CODIGO)AND(D1.COD_TIPO = 1 or D1.COD_TIPO = 4) AND (D1.TABELA = 1) AND
> (D1.DATA_PAGAMENTO BETWEEN :DATAINI AND :DATAFIM))EMPRESTIMO,
>  (SELECT SUM(D1.VALOR_BRUTO) FROM VI_DEDUCOES D1 WHERE (D1.PES_CODIGO =
> S.PES_CODIGO)AND(D1.COD_TIPO = 2) AND (D1.TABELA = 1) AND (D1.DATA_PAGAMENTO
> BETWEEN :DATAINI AND :DATAFIM))FERIAS,
>  (SELECT SUM(D1.VALOR_BRUTO) FROM VI_DEDUCOES D1 WHERE (D1.PES_CODIGO =
> S.PES_CODIGO)AND(D1.COD_TIPO = 3) AND (D1.TABELA = 1) AND (D1.DATA_PAGAMENTO
> BETWEEN :DATAINI AND :DATAFIM))DECIMO,
>  (SELECT SUM(D1.VALOR_BRUTO) FROM VI_DEDUCOES D1 WHERE (D1.PES_CODIGO =
> S.PES_CODIGO)AND(D1.COD_TIPO = 1) AND (D1.TABELA = 2) AND (D1.DATA_PAGAMENTO
> BETWEEN :DATAINI AND :DATAFIM))VALES,
>  (SELECT SUM(D1.VALOR_BRUTO) FROM VI_DEDUCOES D1 WHERE (D1.PES_CODIGO =
> S.PES_CODIGO)AND(D1.COD_TIPO = 2) AND (D1.TABELA = 2) AND (D1.DATA_PAGAMENTO
> BETWEEN :DATAINI AND :DATAFIM))FEIRINHA,
>  (SELECT SUM(D1.VALOR_BRUTO) FROM VI_DEDUCOES D1 WHERE (D1.PES_CODIGO =
> S.PES_CODIGO)AND(D1.COD_TIPO = 3) AND (D1.TABELA = 2) AND (D1.DATA_PAGAMENTO
> BETWEEN :DATAINI AND :DATAFIM))FARMACIA,
>  (SELECT SUM(D1.VALOR_BRUTO) FROM VI_DEDUCOES D1 WHERE (D1.PES_CODIGO =
> S.PES_CODIGO)AND(D1.COD_TIPO = 4) AND (D1.TABELA = 2) AND (D1.DATA_PAGAMENTO
> BETWEEN :DATAINI AND :DATAFIM))XEROX,
>  (SELECT SUM(D1.VALOR_BRUTO) FROM VI_DEDUCOES D1 WHERE (D1.PES_CODIGO =
> S.PES_CODIGO)AND(D1.COD_TIPO = 5) AND (D1.TABELA = 2) AND (D1.DATA_PAGAMENTO
> BETWEEN :DATAINI AND :DATAFIM))OUTROS,
>  (SELECT SUM(D1.VALOR_BRUTO) FROM VI_DEDUCOES D1 WHERE (D1.PES_CODIGO =
> S.PES_CODIGO)AND(D1.COD_TIPO = 6) AND (D1.TABELA = 2) AND (D1.DATA_PAGAMENTO
> BETWEEN :DATAINI AND :DATAFIM))MENSALIDADE,
>  (SELECT SUM(D1.VALOR_BRUTO) FROM VI_DEDUCOES D1 WHERE (D1.PES_CODIGO =
> S.PES_CODIGO)AND(D1.COD_TIPO = 7) AND (D1.TABELA = 2) AND (D1.DATA_PAGAMENTO
> BETWEEN :DATAINI AND :DATAFIM))SINDICATO
> 
> FROM SOCIOS S
> LEFT JOIN PESSOAS P ON S.PES_CODIGO = P.PES_CODIGO
> WHERE  S.SOC_STATUS = 'V'
> ______________________________________________
> 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