Jump to content
Fórum Script Brasil
  • 0

SELECT DINAMICO


Marcelo Braga

Question

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 to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...