Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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
Sql Rails在查询后呈现JSON-问题:覆盖类似的SELECT字段名_Sql_Ruby On Rails_Ruby On Rails 3_Json - Fatal编程技术网

Sql Rails在查询后呈现JSON-问题:覆盖类似的SELECT字段名

Sql Rails在查询后呈现JSON-问题:覆盖类似的SELECT字段名,sql,ruby-on-rails,ruby-on-rails-3,json,Sql,Ruby On Rails,Ruby On Rails 3,Json,下面是我进行的查询,然后根据结果呈现json。但是,具有相同名称的选择字段将被覆盖,例如,distairations.name和distairations.id将被restairations.name和restairations.id覆盖 我在SQLite中尝试了查询字符串,它返回了我需要查找的所有列,但它不能正确地作为JSON输出呈现。任何帮助都将不胜感激。多谢各位 这是我控制器中的rails代码 结果如下: 下面是相同的SQL命令: 下面是SQL结果 您可以使用SQL别名来解决此问题: :s

下面是我进行的查询,然后根据结果呈现json。但是,具有相同名称的选择字段将被覆盖,例如,distairations.name和distairations.id将被restairations.name和restairations.id覆盖

我在SQLite中尝试了查询字符串,它返回了我需要查找的所有列,但它不能正确地作为JSON输出呈现。任何帮助都将不胜感激。多谢各位

这是我控制器中的rails代码

结果如下:

下面是相同的SQL命令:

下面是SQL结果


您可以使用SQL别名来解决此问题:

:select => 'meals.name as meal_name, meals.id as meal_id, sum(meal_ratings.rating) as meal_rating, restaurants.name as restaurant_name'

我现在有一个新问题。如果summeal_ratings.rating为空,则不返回进餐条目。我不知道为什么,因为我做的是左联,所以所有的膳食都应该存在。请让我碰巧知道。再次谢谢。好吧,那是另外一个问题。没有,因为你没有接受或投票支持任何答案。
[{"id":1,"name":"Parkside","sum(meal_ratings.rating)":2},
{"id":2,"name":"Parkside","sum(meal_ratings.rating)":1},
{"id":3,"name":"EVK","sum(meal_ratings.rating)":-1}]
SELECT meals.name, meals.id, sum(meal_ratings.rating), restaurants.name
FROM meals 
LEFT JOIN meal_ratings, restaurants ON meals.id = meal_ratings.meal_id AND restaurants.id = meals.restaurant_id
GROUP BY meal_ratings.meal_id 
ORDER BY meal_ratings.rating DESC
name|id|sum(meal_ratings.rating)|name
Pizza|1|2|Parkside
Pork Chops|2|1|Parkside
Spaghetti|3|-1|EVK
:select => 'meals.name as meal_name, meals.id as meal_id, sum(meal_ratings.rating) as meal_rating, restaurants.name as restaurant_name'