El 18/01/2016 a las 18:58, Randall G. Garcia Cortes escribió:
amigo puedo hecharte la mano
Un par de preguntas las variables var1 y todas esas de donde las tomas o mas bien de donde toman parte, si tienes skype puedo ayudarte por ahi el mio es r_garcia2009ak
por lo que aprecio es una mala estructuración de la consulta por eso no te sale nada, o estas haciendo eso desde un procedure o function???
Lo de mala estructuración es casi seguro. Soy negado en java, asi que voy a golpes. La consulta en java es esta: public List<suma> sumauu2(String basedatos, String var1,String var2, String var3,String var4, String var5,String var6, String var7,String var8, String var9,String var10, String var11,String var12, String var13,String var14) { datosDB service = (datosDB)RuntimeAccess.getInstance().getService(datosDB.class); List<suma> Mylist1 = null; String sql = null; try { service.begin(); Session session = service.getDataServiceManager().getSession(); sql = "SELECT count(D.id) as Fincas,sum(D.UU) as totaluu FROM "+basedatos+".Datos as D WHERE "; if (var1 == null || var1 == ""){ sql +=1; } else { sql +="D.COMERCIAL=""+var1+"" "; } if (var2 == null || var2 == ""){ sql +=" AND "+1; } else {sql +=" AND D.via=""+var2+"" ";} if (var3 == null || var3 == ""){ sql +=" AND "+1;} else { sql +=" AND D.ESTADO=""+var3+"" "; } if (var4 == null || var4 == ""){ sql +=" AND "+1; } else {sql +=" AND D.buzon=""+var4+""";} SQLQuery query = session.createSQLQuery(sql); query.addEntity(suma.class); Mylist1 = query.list(); service.commit(); System.out.println("**************Realizada consulta suma: "+sql); } catch (Exception ex) { System.out.println(">>>>> FALLO Procedimiento consulta suma: "+sql); service.rollback(); } return Mylist1; } Al final la consulta sql debería quedar así cuando se manda al servidor Si las variables contienen algo SELECT count(D.id) as Fincas,sum(D.UU) as totaluu FROM basedatos.Datos AS D WHERE D.COMERCIAL="Pepito" AND D.via="calle H" AND D.ESTADO="activo" AND D.buzon="5d" Así con todas las demas Si las variables son null o vacío y mezcladas con otras con datos SELECT count(D.id) as Fincas,sum(D.UU) as totaluu FROM basedatos.Datos AS D WHERE 1 AND D.via="calle H" AND 1 AND D.buzon="5d" Así me funciona, retorna el listado que cumple las condiciones Solo era si hay alguna manera mas corta de hacer esto Saludos y gracias por el ofrecimiento -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org