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…
vc faz o PreparedStatement e seta o mesmo valor para os 2, não vejo motivos para mudar a query…
wilsontads
Nem eu, mas o aplicativo que utilizamos só está setando um e não tenho como mecher no fonte no nomento, deste projeto.
nextuser
pootz
nextuser
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…
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'