Consulta com um único parâmetro

Pessoal, tenho a seguinte sql :

SELECT c.recno AS codigo, c.codcli, c.cgccpf FROM cliente c WHERE c.vendedor=600017 OR c.vendedori = 600017 AND filial = 0 AND firma = 1 AND is_deleted <> 'Y'

Preciso que o mesmo resultado nesta consulta seja executado em um programa java, porém utilizando apenas um parâmetro, ou seja, a regra abaixo não seria aplicável:

WHERE c.vendedor=? OR c.vendedori = ?

Qual a melhor forma de se fazer isto? pensei inicialmente em fazer um inner join na mesma tabela, mas a execução da sql entrou em um loop infinito…

mas se o paramentro é o mesmo não estou vendo qual a diferença

um é vendedor, o outro é vendedorI,
o parametro é o mesmo, porém se eu tentar vendedor = vendedor I, entra em loop também

mas o valor que vc inputa nos 2 é sempre o mesmo?

Sim…

http://cur.lv/n42u

vc faz o PreparedStatement e seta o mesmo valor para os 2, não vejo motivos para mudar a query…

Nem eu, mas o aplicativo que utilizamos só está setando um e não tenho como mecher no fonte no nomento, deste projeto.

pootz

SELECT c.recno AS codigo, c.codcli, c.cgccpf FROM cliente c, (SELECT Param1 FROM (SELECT ? AS Param1) params) as z WHERE c.vendedor = z.Param1 OR c.vendedori = z.Param1 AND filial = 0 AND firma = 1 AND is_deleted <> 'Y'

não sou expert em SQL alias odeio SQL mas isso deve funcionar…

eu validei no http://sqlfiddle.com/

Testei deu erro na linha 4;;

então ja era

tenta assim

SELECT c.recno AS codigo, c.codcli, c.cgccpf FROM cliente c, (SELECT ? AS Param1) as z WHERE c.vendedor = z.Param1 OR c.vendedori = z.Param1 AND filial = 0 AND firma = 1 AND is_deleted <> 'Y'

kk, vou apelar pra view mesmo entao…

O operador in do SQL não resolveria seu caso?!

http://www.w3schools.com/sql/sql_in.asp