Ir para conteúdo
Fórum Script Brasil
  • 0

SELECT DINAMICO


Marcelo Braga

Pergunta

Bom dia galera,

estou tendo com um grande problema! Tenho uma quantidade significativa de relatorios, e pensei uma forma de tentar reduzir esses relatórios em pelos 5x menos deixando a minha query dinamica onde os paramentros não seria obrigatorios.

Segue abaixo o que andei pensando e que não funcionou....

OBS: O banco de dados é o Firebird 2.1

SELECT GP.DATA_PAGAMENTO AS CAMPO1,

--NUMERO DA GUIA

(SELECT GL1.ID_GUIA

FROM GUIA_LANCAMENTO GL1, GUIA_PAGAMENTO GP1

WHERE GL1.ID_GUIA = GP1.ID_GUIA_LANCAMEN

AND GP1.ID_GUIA_RECIBO = GP.ID_GUIA_RECIBO ) AS CAMPO2,

--VALOR

(COALESCE ((GP.CONT_PAT_APOSEN),0)) AS CAMPO4,

(SELECT OS.DESCRICAO

FROM ORGAO_SUBUNIDADE OS, GUIA_PAGAMENTO GP1, GUIA_LANCAMENTO GL1, ORGAO O1

WHERE GP.ID_GUIA_RECIBO = GP1.ID_GUIA_RECIBO

AND GL1.ID_GUIA = GP1.ID_GUIA_LANCAMEN

AND O1.ID_ORGAO = OS.ID_ORGAO

AND GL1.ID_SUBUNID = OS.ID_SUBUNID ) AS CAMPO6,

--TOTAL

(SELECT COALESCE(SUM(GP1.CONT_PAT_APOSEN),0)

FROM GUIA_PAGAMENTO GP1, GUIA_LANCAMENTO GL1

WHERE (GP1.ID_GUIA_LANCAMEN = GL1.ID_GUIA

OR GL1.ID_ORGAO = O.ID_ORGAO

OR GL1.ID_ORGAO = GL1.ID_ORGAO

OR GP.DATA_PAGAMENTO between PARAMETRO3 and PARAMETRO4

AND GL1.ID_SUBUNID = GL.ID_SUBUNID)) AS TOTAL,

--DADOS DO ENTE

EN.NOME AS NOME,

EN.ENDERECO AS ENDERECO,

C.NOMECIDADE AS CIDADE

FROM GUIA_PAGAMENTO GP,

ORGAO O,

GUIA_LANCAMENTO GL,

ENTE EN,

USUARIO U,

CIDADE C,

ORGAO_SUBUNIDADE OS

WHERE (GP.ID_GUIA_LANCAMEN = GL.ID_GUIA

OR O.RAZAO_SOCIAL = PARAMETRO1

OR OS.DESCRICAO = PARAMETRO2

OR GP.DATA_PAGAMENTO BETWEEN PARAMETRO3 AND PARAMETRO4)

and GL.ID_USER = U.ID_USUARIO

and EN.ID_ENTE = U.ID_ENTE

and EN.ID_CIDADE = C.ID_CIDADE

and GL.ID_SUBUNID = OS.ID_SUBUNID

and GL.ID_ORGAO = O.ID_ORGAO

and O.ID_ORGAO = OS.ID_ORGAO

and gp.CONT_PAT_APOSEN > 0

ORDER BY CAMPO1 , GP.ID_GUIA_RECIBO

---

Marcelo Braga

(37) 9141-3857

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...