Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何使用关系中的列注释查询?_Mysql_Sql_Ruby On Rails_Arel - Fatal编程技术网

Mysql 如何使用关系中的列注释查询?

Mysql 如何使用关系中的列注释查询?,mysql,sql,ruby-on-rails,arel,Mysql,Sql,Ruby On Rails,Arel,我有两种型号,Owner和Dog。狗属于主人,主人有很多狗 我可以为主人查询并用宠物的最需要的食物,这是狗的最需要的食物列的注释,其中包含最大寿命?我知道我可以通过多个查询来实现这一点,但我认为使用Arel仅通过一个查询就可以实现这一点 我最初的尝试是 Owner. joins(:dogs). select(Dog.arel_table[:food_needed].as('most_food_needed_for_pet')). select(Dog.arel_table[:life

我有两种型号,
Owner
Dog
。狗属于主人,主人有很多狗

我可以为主人查询并用宠物的
最需要的食物
,这是
狗的
最需要的食物
列的
注释,其中包含最大
寿命
?我知道我可以通过多个查询来实现这一点,但我认为使用
Arel
仅通过一个查询就可以实现这一点

我最初的尝试是

Owner.
  joins(:dogs).
  select(Dog.arel_table[:food_needed].as('most_food_needed_for_pet')).
  select(Dog.arel_table[:lifespan].maximum).
  group('dogs.owner_id')
但这不正确地用数据库中第一只
狗的最大
寿命
,以及所需的
食物
,而不是寿命最长的
狗的
来标注每个主人

d = Dog.arel_table
o = Owner.arel_table
Owner.
  select( o[Arel.star], d[:lifespan], d[:food_needed].as('most_food_needed_for_pet')).
  joins(:dogs).
  group(:owner_id).
  having( dogs: { lifespan: d[:lifespan].maximum } )

[编辑以删除裸露的
*
以防字段重叠]

我运行了该命令,得到了一个Mysql2:error,请检查
作为max\u id的语法。它生成的SQL是什么?