1

我有这个查询,但我收到了这个错误:#Array:0x0000000443cd18 的未定义方法`where'

@kpig = KpiGroups.find_by_sql('select * from (
      select lk.login,sdf.* from (select kg.id, kg.name as "GROUP_NAME", kt.name, kt.id as "KPI"
      from spartacus.kpi_groups kg, spartacus.kpi_types kt left outer join (select kpiid as kpi, max(max_value) as max_val ,min(min_value) as min_val
      from (select kpiid,max_value,min_value from spartacus.stations group by  max_value,min_value,kpiid) group by kpiid) sel on(sel.kpi=kt.id) where  kt.parentcatalogid=kg.id) sdf
      left outer join spartacus.LKBs lk on lk.kpi_id=sdf."KPI" )').where("login = '#{current_user.login}'")
4

2 回答 2

1

你可以做:

    @kpig = KpiGroups.find_by_sql("select * from (
  select lk.login,sdf.* from (select kg.id, kg.name as GROUP_NAME, kt.name, kt.id as KPI
  from spartacus.kpi_groups kg, spartacus.kpi_types kt left outer join (select kpiid as kpi, max(max_value) as max_val ,min(min_value) as min_val
  from (select kpiid,max_value,min_value from spartacus.stations group by  max_value,min_value,kpiid) group by kpiid) sel on(sel.kpi=kt.id) where  kt.parentcatalogid=kg.id) sdf
  left outer join spartacus.LKBs lk on lk.kpi_id=sdf.KPI ) where login='#{current_user.login}'")
于 2013-10-24T07:05:43.653 回答
1

find_by_sql方法返回Array而不是ActiveRecord::Relation实例。

于 2013-10-23T14:19:41.260 回答