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?
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.
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