Pessoal seguinte:
tenho uma select com UNION, ou seja, unindo duas consultas SQL que fiz… a consulta ta funcionando normal:
String sql = "select "
+ "clientes.cod_cliente, "
+ " docum.cod_empresa,"
+ " docum.num_docum,"
+ " docum.dat_emis,"
+ " docum.dat_vencto_s_desc,"
+ " (dat_vencto_s_desc - today) as dat_venc,"
+ " docum.dat_prorrogada,"
+ " (dat_prorrogada - today) as dat_pro,"
+ " docum.val_liquido,"
+ " docum.val_bruto,"
+ " docum.val_saldo,"
+ " docum_banco.num_titulo_banco,"
+ "portador.cod_portador,"
+ " portador.nom_portador,"
+ " docum.ies_tip_docum,"
+ " docum. ies_pgto_docum,"
+ " case when (((docum.dat_vencto_s_desc - today) < 0) and ((docum.dat_prorrogada - today) is null))"
+ " then ((docum.val_saldo * ( 1 + (0.001* ((docum.dat_vencto_s_desc - today)*-1))))- docum.val_saldo)"
+ " else case when (((docum.dat_vencto_s_desc - today) < 0) and ((docum.dat_prorrogada - today) < 0 ) or"
+ " ((docum.dat_vencto_s_desc - today) < 0) and ((docum.dat_prorrogada - today) > 0))then"
+ " ((docum.val_saldo * ( 1 + (0.001* ((docum.dat_vencto_s_desc - today)*-1))))- docum.val_saldo)end end as val_juros,"
+ " case when (((docum.dat_vencto_s_desc - today) < 0) and ((docum.dat_prorrogada - today) is null)) then"
+ " ((docum.val_saldo * ( 1 + (0.001* ((docum.dat_vencto_s_desc - today)*-1))))) else case when"
+ " (((docum.dat_vencto_s_desc - today) < 0) and ((docum.dat_prorrogada - today) < 0 ) or"
+ " ((docum.dat_vencto_s_desc - today) < 0) and ((docum.dat_prorrogada - today) > 0)) then"
+ " ((docum.val_saldo * ( 1 + (0.001* ((docum.dat_vencto_s_desc - today)*-1))))) end end as val_total_receber"
+ " from docum left outer join docum_banco on (docum.num_docum = docum_banco.num_docum)"
+ " left outer join portador on (docum.cod_portador = portador.cod_portador) and (docum.ies_tip_portador = portador.ies_tip_portador)"
+ " left outer join clientes on (docum.cod_cliente = clientes.cod_cliente)"
+ " where docum.val_saldo > 0"
+ " and clientes.cod_cliente like ? " --------------------------------------------------
+ " union all"
+ " select "
+ " clientes.cod_cliente,"
+ " cheque_mestre.cod_empresa,"
+ " cheque_mestre.num_cheque,"
+ " cheque_mestre.dat_emissao,"
+ " cheque_mestre.dat_vencto,"
+ " (cheque_mestre.dat_vencto - today) as dat_venc,"
+ " cheque_vcto.dat_prorrogada,"
+ " (cheque_vcto.dat_prorrogada - today) as dat_pro,"
+ " cheque_mestre.val_bruto,"
+ " cheque_mestre.val_bruto,"
+ " cheque_mestre.val_saldo,"
+ " '' as num_titulo_banco,"
+ " portador.cod_portador,"
+ " portador.nom_portador,"
+ " 'CH' as ies_tip_cheque,"
+ " '' as is_pgto_cheque,"
+ " case when (((cheque_mestre.dat_vencto - today) < 0) and ((cheque_vcto.dat_prorrogada - today) is null))"
+ " then ((estorno_cheque.val_saldo * ( 1 + (0.001* ((cheque_mestre.dat_vencto - today)*-1))))- estorno_cheque.val_saldo)"
+ " else case when (((cheque_mestre.dat_vencto - today) < 0) and ((cheque_vcto.dat_prorrogada - today) < 0 )) or"
+ " (((cheque_mestre.dat_vencto - today) < 0) and ((cheque_vcto.dat_prorrogada - today) > 0))"
+ " then ((estorno_cheque.val_saldo * ( 1 + (0.001* ((cheque_vcto.dat_venc_ant - today)*-1))))- estorno_cheque.val_saldo) "
+ " end "
+ " end as val_juros,"
+ " case when (((cheque_mestre.dat_vencto - today) < 0) and ((cheque_vcto.dat_prorrogada - today) is null))"
+ " then ((estorno_cheque.val_saldo * ( 1 + (0.001* ((cheque_mestre.dat_vencto - today)*-1))))) "
+ " else case when (((cheque_mestre.dat_vencto - today) < 0) and ((cheque_vcto.dat_prorrogada - today) < 0 )) or"
+ " (((cheque_mestre.dat_vencto - today) < 0) and ((cheque_vcto.dat_prorrogada - today) > 0))"
+ " then ((estorno_cheque.val_saldo * ( 1 + (0.001* ((cheque_vcto.dat_venc_ant - today)*-1)))))"
+ " end"
+ " end as val_saldo_jur"
+ " from cheque_mestre"
+ " left outer join cheque_vcto on (cheque_vcto.cod_empresa = cheque_mestre.cod_empresa and cheque_vcto.num_cheque = cheque_mestre.num_cheque"
+ " and cheque_vcto.num_cpf_cgc = cheque_mestre.num_cpf_cgc)"
+ " left outer join portador on (cheque_mestre.cod_portador = portador.cod_portador) and (cheque_mestre.ies_tip_portador = portador.ies_tip_portador)"
+ " left outer join clientes on (cheque_mestre.cod_cliente = clientes.cod_cliente)"
+ " left outer join estorno_cheque on (cheque_mestre.num_cheque = estorno_cheque.num_cheque)"
+ " where cheque_mestre.val_saldo > 0"
+ " and clientes.cod_cliente like ? "; -----------------------------
porem essas linhas que estao com os ----------------------------- é onde o usuario vai digitar
o código cliente e fazer a busca no banco especificamente do cliente qual o código foi digitado,porém esta dando o seguinte erro:
ja fiz o teste de tirar a primeirolinha pontilhada que é essa:
dai ele exuta, porém nao com o filtro que é o que o código que o usuario digitar…
eu sei que o erro ta acontecendo por causa dessas duas linhas que destaquei no meu código,
porem eu preciso das duas porque em na UNION eu estou juntando uma select de
cheques e outra de duplicatas entao preciso do filtro do código do cliente em duas condiçoes exatamente
como está ai,porém esta dando esse erro…
sera que alguem saberia me explicar como fazer pra que ainda continue com as duas linhas
destacadas no código e ainda com o código que o usuario digitar?