ho la seguente query che funziona:
e funziona e mi ritorna il conto di riepilogo successivocodice:SELECT Conto FROM gldplancodedetail JOIN glsdettagliomenufield AS XX ON XX.RecId=gldplancodedetail.TipoConto WHERE cast(gldplancodedetail.Conto as unsigned) > cast('3000' as unsigned) AND XX.vocemenu='Di Riepilogo' AND refglsbalanceplangestion=(SELECT refglsbalanceplangestion FROM gldcategorysectorplanaccount WHERE taglevel='1.1.5') AND NOT (gldplancodedetail.visibility=1) order by cast(Conto as unsigned) limit 0,1
ma se questo lo metto in una funzione per richiamarlo
mi da altri risultati
ecco la funzione che ho scritto
come mai?codice:DELIMITER $$ DROP FUNCTION IF EXISTS `xxxx`.`filtrosaldiconti`$$ CREATE DEFINER=`root`@`%` FUNCTION `filtrosaldiconti`(visconto varchar(10), parid varchar(30)) RETURNS varchar(10) CHARSET latin1 BEGIN SET @tornocosa = ' '; SELECT Conto INTO @tornocosa FROM gldplancodedetail LEFT JOIN glsdettagliomenufield AS XX ON XX.RecId=gldplancodedetail.TipoConto WHERE cast(gldplancodedetail.Conto as unsigned) > cast(visconto as unsigned) AND XX.vocemenu='Di Riepilogo' AND refglsbalanceplangestion=(SELECT refglsbalanceplangestion FROM gldcategorysectorplanaccount WHERE taglevel=parid) AND NOT (gldplancodedetail.visibility=1) ORDER BY Conto LIMIT 1 ; RETURN @tornocosa; END$$ DELIMITER ;
cosa sbaglio?

Rispondi quotando