Page 1 of 1

ayuda con consulta en mariadb

Posted: Mon Dec 06, 2021 9:30 pm
by goosfancito
La consulta que necesito realizar es esta:

Code: Select all | Expand

  oQry := ::oCnx:QUERY( "SELECT * FROM tbtarifas WHERE tbtarifas.iditem= ? GROUP BY tbtarifas.fecha ORDER BY tbtarifas.fecha DESC", { 21} )


que es lo que pasa con esta consulta? que si habo un xbrowser oQry me muestra el dato, pero cuando quiero recuperar los datos de la consulta
no posee nada. Si hago esto:
msginfo (oQry[1][1]) no me muestra ningun dato, la consulta como que no devuelve nada, pero cuando hago esto:
msginfo(oQry:recordcount()) me devuelve 1

ahora comprobe que si hago esto:

Code: Select all | Expand

local adatos:={}
adatos:= oQry:getrows()
msginfo(adatos[1][1])

si funciona. pero si no hago el getrows() no me devuelve los datos

que estoy haciendo mal?

Re: ayuda con consulta en mariadb

Posted: Mon Dec 06, 2021 9:55 pm
by Willi Quintana
Hola Goss.
Prueba con EVAL...

Code: Select all | Expand


Function xxxxx()
local eCons
eCons := {|nValor|oQry := ::oCnx:QUERY( "SELECT * FROM tbtarifas WHERE tbtarifas.iditem= " + STR(nValor) + " GROUP BY tbtarifas.fecha ORDER BY tbtarifas.fecha DESC"}
EVAL(eCons,21)
xbrowse(oQry)

 

Re: ayuda con consulta en mariadb

Posted: Mon Dec 06, 2021 10:01 pm
by goosfancito
pero no es directo? es necesario hacer un eval?
pense que se comportaba como con la tdolphin.

Re: ayuda con consulta en mariadb

Posted: Mon Dec 06, 2021 11:20 pm
by Willi Quintana
La ventaja de usar EVAL o AEVAL, es que puedes definirlos antes, y ejecutarlos mas abajo, y con parametros

Re: ayuda con consulta en mariadb

Posted: Tue Dec 07, 2021 12:57 am
by JoseAlvarez
goosfancito wrote:pero no es directo? es necesario hacer un eval?
pense que se comportaba como con la tdolphin.


Saludos,

¿las consultas en sql no deben terminar con punto y coma?

"SELECT * FROM tbtarifas WHERE tbtarifas.iditem= " + STR(nValor) + " GROUP BY tbtarifas.fecha ORDER BY tbtarifas.fecha DESC ;"

Re: ayuda con consulta en mariadb

Posted: Tue Dec 07, 2021 2:38 am
by admsoporte
Considero que esta mal definida la consulta.
Para el caso de utilizar group by, necesitas indicar un campo por el que se va a resumir la consulta, ejemplo

SELECT YEAR(fecha),SUM(total) FROM facturas GROUP BY YEAR(fecha)
esto retornara las ventas totales agrupadas por año.

Saludos