0
我会回到这一点。所以基本上我有3个表结构如下:使用sql与多个表格调用求和
订单:
i_id | o_id | quantity
-----+--------+----------
1 | 1 | 5
2 | 2 | 2
1 | 3 | 3
1 | 4 | 3
2 | 5 | 4
orderinfos:
o_id | c_id
------+------------
1 | 1
2 | 2
3 | 2
4 | 1
5 | 2
客户:
c_id | name_id
----------+----------
1 | 100001
2 | 100002
然后将得到的图表将是:
name_id | i_id | quantity
-----------+----------+----------
100001 | 1 | 8
100002 | 2 | 6
100002 | 1 | 3
所以基本上,你有一些东西(在这种情况下,订单)与他们的数量的摘要,然后在每个订单有客户ID和项目名称关联。然后,生成的图表将按客户的降序排列每个客户的数量。我的第一个实现是这样的:
select quantCust.custIdName, quantCust.itemId, quantCust.quant
from
(select O.i_id as itemId,
C.name_id as custIdName,
sum(O.quantity) as quant
from orders as O, orderinfos as I, customers as C
where O.o_id = I.o_id and I.c_id = C.c_id
group by O.i_id, I.c_id) as quantCust
order by quantCust.custId, quantCust.quant desc;
它不会打印正确的值。