2010/3/19 dwayne <[email protected]> > probé pero me retorna un objeto de ActiveRecord <Asistencia>. yo preciso > un float > > 2010/3/19 Maximiliano Guzman <[email protected]> > > que tal un find_by_sql con el query así como viene? >> >> 2010/3/19 dwayne <[email protected]> >> >>> No se si diría que es complejo el calculo que tengo que hacer. En >>> realidad es bastante sencillo. >>> >>> Tengo horarios de clase y asistencias a las clases. >>> >>> Quiero calcular la asistencia promedio. >>> >>> En sql sería, si no me equivoco, *select avg(counts) from ( select >>> count(*) counts from asistencias where horario_id = 50007 group by >>> horario_id, fecha ) cuentas* >>> * >>> * >>> cómo hago un cálculo de ese tipo en rails con una única consulta? >>> >>> El problema con el find_by_sql se da porque éste método retorna un array. Una solución poco elegante es hacerle un pop al array y meter el resultado a otra variable. Por ejemplo asistencia=Asistencia.find_by_sql("*select avg(counts) from ( select count(*) counts from asistencias where horario_id = 50007 group by horario_id, fecha ) cuentas")* asistencia=asistencia.pop
esto es muy PoC, porque no tengo tu modelo. De todos modos lo probé con un modelo mío y con pop extraje el objeto AR del array. Saludos -- http://www.rodolinux.com.ar "I must not fear. Fear is the mind-killer. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain." - Bene Geserit's Fear Lethany - Dune Trilogy - Frank Herbert
_______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
