Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.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/2/ruby-on-rails/52.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 6中显示总数_Sql_Ruby On Rails_Ruby_Postgresql_Activerecord - Fatal编程技术网

Sql 获取订单数量和所属对象的价格,以在Rails 6中显示总数

Sql 获取订单数量和所属对象的价格,以在Rails 6中显示总数,sql,ruby-on-rails,ruby,postgresql,activerecord,Sql,Ruby On Rails,Ruby,Postgresql,Activerecord,我有一个价格的对象工具和一个工具排序器,用于每一笔数量的销售。我需要显示销售总额 Tool has many: tools_orders ToolsOrders belongs_to: tool 我是这样想的还是类似的?我做不到 ToolsOrder.sum("quantity * Tool.price") 如何计算总和?有时读取代码给出的错误消息很有用。假设您得到的错误是:表“tool”的子句条目中缺少。这意味着您正在从表工具查询价格,但当前查询中没有此类表 你错过了一

我有一个
价格
的对象
工具
和一个
工具排序器
,用于每一笔
数量
的销售。我需要显示销售总额

Tool has many: tools_orders
ToolsOrders belongs_to: tool
我是这样想的还是类似的?我做不到

ToolsOrder.sum("quantity * Tool.price")

如何计算总和?

有时读取代码给出的错误消息很有用。假设您得到的错误是:
表“tool”的子句条目中缺少
。这意味着您正在从表
工具
查询
价格
,但当前查询中没有此类表

你错过了一个连接

ToolsOrder.joins(:tool).sum(“数量*工具.价格”)
如果你愿意的话,使用Arel会更安全

ToolsOrder.joins(:tool).sum(ToolsOrder.arel_表[:数量]*tool.arel_表[:价格])

现在没有纯粹的sql,它很容易在(工具vs工具)中输入错误,并且容易接受sql注入。

谢谢,两个表中都有一个小问题,一个是库存和销售订单,现在我有了这个错误PG::含糊不清的列:错误:列引用“数量”第1行不明确:您还需要为数量添加表名前缀(
tools\u orders.quantity
),以指定您所指的数量。或者使用Arel溶液