我正在尝试找出格式化这个查询的最有效方法。
我有三张表——交易表、采购表和项目表。
所需的结果是为特定客户的每个项目选择销售数据(数量/销售总额)。
表格的格式如下:(
=主键)*
交易:
事务_ID*,时间戳
采购:
采购编号*、销售编号、项目编号、交易编号、数量
项目:
项目编号*,客户编号,描述
目前为止,我已经设置了一个查询来选择给定客户机ID的每个项目:
SELECT Item_ID, Description FROM Item WHERE Client_ID = $ClientId
然后,我将结果存储在一个数组中,并执行查询以检索给定日期范围内每个项目的销售数据。
SELECT Sale, Quantity
FROM Purchase INNER JOIN Transaction
ON Purchase.Transaction_ID = Transaction.Transaction_ID
WHERE Transaction.Timestamp >= $start
AND Transaction.Timestamp<= $end
然后,对于每一行获取的数据,我对数量进行求和。
它可以完成任务,但可能不是最有效的完成任务的方法。
我想按销售总额订购这些数据,把最大的数字放在第一位
你将如何从最大到最小进行排序?
有没有一种方法可以在一个查询中完成这一切?