Erro em SQL = quot;DBX Error: VendorErrorquot;

Delphi

10/12/2008

Caros colegas, estou tentando fazer uma consulta em 3 tabelas, onde tabela A e B sao Mestre / Detalhe, e a tabela C é uma tabela comum

essa consulta vai ser feita num formulario, atraves de um TEdit, e eu quero ter 2 opçoes(parâmetros) de consulta: Cliente e Serviço

para isso criei a SQL abaixo, mas a mesma está me retornando o seguinte erro quando tento executa-la: ´DBX Error: VendorError´

alguém poderia me dar uma luz?
SELECT 
  A.ID_CLIENTE As Id_ClienteA, 
  A.NOME As Nome_Cliente, 
  A.ID_ATIVO As Id_AtivoA, 
  B.ID_CLI_SERV As Id_Cli_ServB, 
  B.ID_CLIENTE As Id_ClienteB, 
  B.ID_SERVICO As Id_ServicoB, 
  B.ID_SITUACAO As Id_SituacaoB, 
  B.DATA_ABERTURA As Data_AberturaB, 
  B.DATA_ENCERRAMENTO As Data_EncerramentoB, 
  C.ID_SERVICO As Id_ServicoC, 
  C.NOME As Nome_Servico 
  FROM CLIENTES A, CLI_SERV B, SEVICOS C 
  WHERE (B.ID_CLIENTE = A.ID_CLIENTE) AND ((A.NOME Like :Cliente) OR (C.NOME Like :Servico))


Abraços!


Mahdak

Mahdak

Curtidas 0

Respostas

Mahdak

Mahdak

10/12/2008

ja ia esquecendo...

Delphi 2007 Architet
Firebird 2.0


GOSTEI 0
Mahdak

Mahdak

10/12/2008

o Engraçado é que se eu remover as informações da tabela C (SERVICOS) tudo funciona normalmente...

[b:deedb9db6a]Porém eu realmente precisaria que fosse com a Tabela C (SERVICOS)[/b:deedb9db6a]

alguém se habilita?

SELECT 
A.ID_CLIENTE As Id_ClienteA, 
A.NOME As Nome_Cliente, 
A.ID_ATIVO As Id_AtivoA, 
B.ID_CLI_SERV As Id_Cli_ServB, 
B.ID_CLIENTE As Id_ClienteB, 
B.ID_SERVICO As Id_ServicoB, 
B.ID_SITUACAO As Id_SituacaoB, 
B.DATA_ABERTURA As Data_AberturaB, 
B.DATA_ENCERRAMENTO As Data_EncerramentoB 
FROM CLIENTES A, CLI_SERV B
WHERE (B.ID_CLIENTE = A.ID_CLIENTE) AND A.NOME Like :Cliente


abraços!


GOSTEI 0
Mahdak

Mahdak

10/12/2008

Resolvido... faltava um R na tabela Serviços...
ja aproveitando para utilizar o Left Join


SELECT 
  A.ID_CLIENTE As Id_Cliente, 
  A.NOME As Nome_Cliente, 
  A.ID_ATIVO As Id_Ativo, 
  B.ID_CLI_SERV As Id_Cli_Serv,
  B.ID_SERVICO As Id_Servico, 
  B.ID_SITUACAO As Id_Situacao, 
  B.DATA_ABERTURA As Data_Abertura, 
  B.DATA_ENCERRAMENTO As Data_Encerramento,
  C.NOME As Nome_Servico
  FROM CLIENTES A
  left join CLI_SERV B on (a.id_cliente=b.id_cliente)
  left join SErVICOS C on (b.id_servico = c.id_servico)
  WHERE  ((A.NOME Like :Cliente) OR (C.NOME Like :Servico))



GOSTEI 0
Marcosalex

Marcosalex

10/12/2008

Resolvido... faltava um R na tabela Serviços... ja aproveitando para utilizar o Left Join

putz, nada a ver a descrição


GOSTEI 0
Mahdak

Mahdak

10/12/2008

[quote:89129e1583=´mahdak´]Resolvido... faltava um R na tabela Serviços... ja aproveitando para utilizar o Left Join

putz, nada a ver a descrição[/quote:89129e1583]


ehehe, era que sem aquele R, o delphi me retorna esse erro.


GOSTEI 0
POSTAR