Ajuda com SQL
Tenho as tabelas:
Funcionarios -> 2 cadastrados
DiaAtendimento -> 1 dia para cada funcionário
Clientes -> 2 cadastrados
Agenda -> Cliente1 cadastrado para Funcionario1 = 1 único registro
faço a seguinte sql:
With IBQuery1 do
Begin
...SQQL.Clear;
...SQL.Add(´Select A.*, C.NUMCLI, C.NOMECLI, D.*, F.NUMFUNC From AGENDA A, ´);
...SQL.Add(´CLIENTES C, DIAATENDIMENTO D, FUNCIONARIOS F ´);
...SQL.Add(´Where (A.DENTISTA = :NUMDENTISTA) and (A.DIA = :DATA) ´);
...SQL.Add(´Order by A.HORA´);
...ParamByName(´NUMDENTISTA´).AsInteger := NumeroFuncionario;
...ParamByName(´DATA´).AsDate := Data;
...Prepare;
...Open;
End;
A sql dá o seguinte resultado;
Cliente2, Cliente1 repetindo esta dupla 4 vezes
Aguém pode me ajudar a descobrir o erro?
Funcionarios -> 2 cadastrados
DiaAtendimento -> 1 dia para cada funcionário
Clientes -> 2 cadastrados
Agenda -> Cliente1 cadastrado para Funcionario1 = 1 único registro
faço a seguinte sql:
With IBQuery1 do
Begin
...SQQL.Clear;
...SQL.Add(´Select A.*, C.NUMCLI, C.NOMECLI, D.*, F.NUMFUNC From AGENDA A, ´);
...SQL.Add(´CLIENTES C, DIAATENDIMENTO D, FUNCIONARIOS F ´);
...SQL.Add(´Where (A.DENTISTA = :NUMDENTISTA) and (A.DIA = :DATA) ´);
...SQL.Add(´Order by A.HORA´);
...ParamByName(´NUMDENTISTA´).AsInteger := NumeroFuncionario;
...ParamByName(´DATA´).AsDate := Data;
...Prepare;
...Open;
End;
A sql dá o seguinte resultado;
Cliente2, Cliente1 repetindo esta dupla 4 vezes
Aguém pode me ajudar a descobrir o erro?
Edilcimar
Curtidas 0
Respostas
Catunda
18/12/2007
já tentou executar essa consulta dentro do sql editor do ibexpert por exemplo, pra ver se dá certo?
GOSTEI 0
Gandalf.nho
18/12/2007
Faltou fazer a ligação entre as tabelas envolvidas na consulta. É a falta disso que causa esse resultado.
GOSTEI 0
Edilcimar
18/12/2007
grato, consegui resolver o problema!
GOSTEI 0