RES: [firebase-br] Ajuda em SQL "Obrigado"
Jony
jonyridel em yahoo.com.br
Ter Ago 2 09:13:32 -03 2005
Carlos tente fazer uma procedure selecionavel.
Acredito que os dados que estão dentro do in vem de uma tabela.
Se for isso faça uma procedure onde vc va varrendo a tabela com os dados do
in retornando os dados das consultas tipo:
SET TERM ^ ;
CREATE PROCEDURE PCONSULTAS (
PI_DATA_I DATE,
PI_DATA_F DATE)
RETURNS (
Po_ID integer,
Po_IDPaciente integer,
Po_IDMedico integer,
Po_Data Date,
Po_IDConvenio integer
AS
BEGIN
EXIT;
END^
SET TERM ; ^
SET TERM ^ ;
ALTER PROCEDURE PCONSULTAS (
PI_DATA_I DATE,
PI_DATA_F DATE)
RETURNS (
Po_ID integer,
Po_IDPaciente integer,
Po_IDMedico integer,
Po_Data Date,
Po_IDConvenio integer
AS
BEGIN
FOR SELECT ID_CONVENIO FROM CONVENIOS INTO :PO_IDCONVENIO DO
BEGIN
FOR Select wID, wIDPaciente, wIDMedico, wData
from
ConsultaMedica
where
wData between :PI_DATA_I and PI_DATA_F
and widconvenio = :PO_IDCONVENIO INTO
Po_ID,
Po_IDPaciente,
Po_IDMedico,
Po_Data DO
SUSPEND;
END
END
END^
Para utilizar use : Select * from PCONSULTAS('01.01.2004', ' 01.01.2007')
Espero ter ajudado,
----------------------------
Jony Ridel
Grupo Êxito - Salvador - BA
----------------------------
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Carlos Alberto dos santos
Enviada em: segunda-feira, 1 de agosto de 2005 17:56
Para: lista em firebase.com.br
Assunto: [firebase-br] Ajuda em SQL "Obrigado"
Olá amigos tenho que fazer uma pesquisa no banco onde envio esse sql:
Select wID, wIDPaciente, wIDMedico, wData, wIDConvenio from ConsultaMedica
where wData between '01.01.2004' and ' 01.01.2007' and
widconvenio in
(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,80,90,50,60,100,200,7000); => dentro do
in(tem mais de 1500 codigos). Eu acho que não é a melhor forma.
Alguem saberia um jeito melhor de fazer isso? já tentei com o filter do
clientdaset mais não obtive sucesso o problema é que quando coloco no filter
clientdataset.filter := 'widconvenio
in(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,80,90,50,60,100,200,7000) gera erro.
só consigo com um valor. Se alguém poder me ajudar agradeço.
_________________________________________________________________
Chegou o que faltava: MSN Acesso Grátis. Instale Já!
http://www.msn.com.br/discador
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.9.7/60 - Release Date: 28/7/2005
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.9.8/61 - Release Date: 1/8/2005
_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis.
Instale o discador agora! http://br.acesso.yahoo.com/
Mais detalhes sobre a lista de discussão lista