SQL分组依据还是分组依据?

SQL分组依据还是分组依据?,sql,group-by,sql-server-ce,Sql,Group By,Sql Server Ce,假设我有3张桌子:顾客、武器和订单。我想要的是创建一个表格,在这个表格中,我需要为每个客户显示他/她购买的每种类别的商品数量、手枪等以及武器的总数量?仅使用SQL查询就可以实现吗?因为我打算使用SQLCE,所以我可以在没有子查询的情况下实现它吗 表具有以下结构: 客户ID,名称 武器型武器 订单库存标识、库存标识、数量 我想得到这个: Name | Order(w_type) | Quantity | Total -----------+---------------+-

假设我有3张桌子:顾客、武器和订单。我想要的是创建一个表格,在这个表格中,我需要为每个客户显示他/她购买的每种类别的商品数量、手枪等以及武器的总数量?仅使用SQL查询就可以实现吗?因为我打算使用SQLCE,所以我可以在没有子查询的情况下实现它吗

表具有以下结构: 客户ID,名称 武器型武器 订单库存标识、库存标识、数量

我想得到这个:

Name | Order(w_type) | Quantity | Total -----------+---------------+--------------+----------- John Smith | Guns | 3 | 7 John Smith | Pistols | 4 | 7 -----------+---------------+--------------+----------- Jane Doe | Guns | 5 | 14 Jane Doe | Pistols | 7 | 14 Jane Doe | Cannons | 2 | 14 甚至更好

Name | Order | Quantity | Total -----------+---------------+--------------+----------- John Smith | Guns | 3 | John Smith | Pistols | 4 | -----------+---------------+--------------+----------- 7 -----------+---------------+--------------+----------- Jane Doe | Guns | 5 | Jane Doe | Pistols | 7 | Jane Doe | Cannons | 2 | -----------+---------------+--------------+----------- 14
谢谢。

没有任何分析函数(如CE中的求和)可以给出第一个结果


如果您想要的更好的结果是第二个,这甚至不是表格,那么您需要启动两个查询;一个用于表格,一个用于总和。要么这样做,要么在查看按人员排序的表结果时收集总和。

您可以发布现有查询吗?也许是完整的表格结构,这样我们就可以看到它们是如何相互联系的?group by子句允许您指定多个列,因此您可以按名称、w_类型等进行分组。此外,在某些SQL方言中,将总计作为单独的记录可能是可行的。我认为Oracle可以使用roll up来实现这一点,但我不确定SQL CE。我使用:select c.name、w.type、,相扑.q订单数量o加入客户c on o.cust_id=c.id加入武器w on w.id=o.weap_id按c.name,w.type分组