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

Responder a