Power Builder - mysql con Power builder 8.0

 
Vista:

mysql con Power builder 8.0

Publicado por omar (14 intervenciones) el 25/12/2003 01:11:48
Holas tengo el siguiente problema estoy trabajando con la base de datos en mysql y al ejecutar la siguiente sentencia en el codigo me sale error.
integer int_num
SELECT MAX(ID_DEPARTAMENTO) into :int_num FROM PAIS,DEPARTAMENTO WHERE PAIS.NPAIS=:ddplb_pais.text and
DEPARTAMENTO.ID_PAIS=PAIS.ID_PAIS;

Deberia almacenar en la variable int_num el valor de 5 (para los datos que tengo)y lo hace pero con Sql Server 7.0 y para el mysql me muestra el siguiente error:
SQLSTATE=37000
[MySQL][ODBC 3.51 Driver][mysqld-4.0.14-max] You have an error in your
SQL syntax. Check the manual that corresponds to your MySQL server version
for the right syntax to use near '(ID_DEPARTAMENTO) FROM PAIS,DEPARTAMENTO WHERE PAIS.

O sea como que no me reconoce bien la sentencia Max() , que es el maximo valor de la consulta que realizo, alguien sabe como solucionarlo o cual es el equivalente en mysql de la funcion Max() para que funcion bien.
PD. tambien me salen problemas cuando uso el COUNT(*), pero mas me interesa la funcion Max().
Gracias por su ayuda
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

RE:mysql con Power builder 8.0

Publicado por ELIASFIGUEROA (7 intervenciones) el 26/12/2003 01:23:22
prueba con alias... estas usando un ansi para sql server..en el from..
usa el ansi standar.....por lo que veo tu estas usando un tipo de union standar del sql server.... la sentencia MAX es la misma en mysql..el error esta esta en las uniones...byeee
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar

RE:mysql con Power builder 8.0

Publicado por Jhonatan (29 intervenciones) el 27/12/2003 06:28:24
Trata de hacer lo siguiente

String ls_cad
Integer li_max

ls_cad = "SELECT MAX(ID_DEPARTAMENTO) FROM PAIS,DEPARTAMENTO WHERE PAIS.NPAIS=' "+ddplb_pais.text+" ' " + " and DEPARTAMENTO.ID_PAIS = PAIS.ID_PAIS"

Prepare sqlsa from :ls_cad;
Declare Cursor01 Dynamic Cursor for Sqlsa;
Open Dynamic Cursor01;
Fetch cursor01 into :li_max;
close Cursor01;

en la variable li_max deveria estar la cantidad maxima

Nota : Si no funciona quitale la union de tablas y pruebalo luego vuelve a reestructurar tu select si tienes problemas escribe a mi correo porque existe otra forma de realizar una union de tablas
Ejemplo

ls_cad = "SELECT MAX(ID_DEPARTAMENTO) FROM PAIS WHERE NPAIS=' "+ddplb_pais.text+" ' "

Espero haberte ayudado
Suerte....
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

RE:mysql con Power builder 8.0

Publicado por juazor (2 intervenciones) el 12/03/2007 23:53:50
solo debes marcar en la pestaña de opciones avanzadas del odbc :Flags 3
Ignore Spaces After Function Names

espero que ayude bye.

Juan Manuel
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