Power Builder - Ayuda con una consulta SQL

 
Vista:

Ayuda con una consulta SQL

Publicado por Carolina (150 intervenciones) el 25/08/2016 21:09:18
Hola amigos! tengo un problema, yo tengo que ejecutar esta instruccion en mi programa:
"select min(id_cuenta) as id_cuenta Into :vid_cuenta from hmrv_proveedores where id_cuenta IN (select id_cuenta From hmcv_asientos_Detalle_ps where substring(id_asiento, 1, 4) = :v_ma);"

Esto es para que busque la minima cuenta de la tabla de Proveedores que tenga algun registro en la tabla de asientos pero en el periodo que busco, haber, el id_asiento se conforma de la siguiente manera, los 2 primeros digitos son el año, los 2 siguientes el mes, y luego los ultimos 3 es un contador automatico para cada mes.
Entonces yo quiero buscar los asientos de agosto del 2016 asique mi variable v_ma va a terminar siendo = 1608
Todo supondría bien, y les digo que tengo proveedores que cumplan esta condicion, ahora, el problema es que esta instrucción al ejecutar mi aplicacion me da ERROR de sintaxis, infracción de acceso u otro error no específico....y ya no se donde buscar el error!!!!!!
Si ejecuto esta instruccion desde el SQL MANAGEMENT ESTUDIO me tira el proveedor perfectamente
También si en mi aplicación yo le pongo directamente la instrucción con el 1608 tambien lo trae bien, pero cuando quiero hacer referencia a la variable v_ma o cualquier otra variable me da el error
Muchas gracias a quien pueda ayudarme!!!!!!!!!!!!!!!!!!
Saludos desde Argentina!
Carolina
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con una consulta SQL

Publicado por Guillermo (72 intervenciones) el 15/09/2016 21:39:09
Hola Carolina, tu variable v_ma esta declarada como string? El valor que trae la variable v_ma = '1608', en el momento que te da error?
Prueba cambiando tu consulta de esta manera, no hace falta el alias en la selección si vas a guardar en una variable:

1
2
3
4
5
6
7
select min(id_cuenta)
  into :vid_cuenta
  from hmrv_proveedores a
 where exists(select 1
     from hmcv_asientos_Detalle_ps b
     where a.id_cuenta = b.id_cuenta
     and substring(id_asiento, 1, 4) = :v_ma);

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con una consulta SQL

Publicado por Carolina (150 intervenciones) el 24/09/2016 17:16:01
Hola Guillermo, muchas gracias por tu respuesta acabo de probarla pero me da el mismo error en el programa y funciona bien en el Management Estudio...no se que puede estar pasando!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar