Vários OR's em um SQL

Bom dia!

Estou tendo algumas dificuldades para fazer um sql que busque na tabela de contas a receber, as contas de um determinado cliente. O que está me dificultando é que este cliente pode ser avulso, de um pedido, de um contrato, de uma vendacondicional ou de um contratodomiciliar.

Tentei fazer o seguinte:

SELECT * FROM contasreceber
WHERE estabelecimento = 1
AND (pessoa = 165
OR pedido.cliente = 165
OR contrato.cliente = 165
OR ordemservico.cliente = 165
OR vendacondicional.cliente = 165
OR contrato_domicilio.cliente = 165)

Mas está me retornando este erro:

ERROR: missing FROM-clause entry for table "pedido"
LINE 4: OR pedido.cliente = 165

[quote=jeanmalvessi]Bom dia!
… é que este cliente pode ser avulso, de um pedido, de um contrato, de uma vendacondicional ou de um contratodomiciliar.

SELECT * FROM contasreceber WHERE estabelecimento = 1 AND (pessoa = 165 OR pedido.cliente = 165 OR contrato.cliente = 165 OR ordemservico.cliente = 165 OR vendacondicional.cliente = 165 OR contrato_domicilio.cliente = 165) [/quote]

Se ele pode vir de outras tabelas, não estaria faltando você fazer alguns INNER JOINs não?

Mas como faço um INNER JOIN em uma cláusula OR ?

Faz a pesquisa pelo campo do relacionamento de cada tabela, ai não precisa fazer join

Mas aí eu vou ter apenas o código do pedido, contrato, etc… e dentro de cada um desses tem o código do cliente, que é o que eu preciso

então use left join

Arruma essa modelagem !!!

Resolvi utilizando várias pesquisas distintas e juntando todas… não manjo muito de SQL :cry: