我正在使用MS Access数据库。
我有三个表:
客户(idCustomer,CustomerName):
1 C1
2 C2
3 C3
4 C4
5 C5
产品(idProduct,ProductName):
1 P1
2 P2
3 P3
4 P4
订单(id,idCustomer,idProduct,数量):
1 2 1 10
2 2 2 15
3 4 2 13
4 5 4 19
我正在查询以获取此结果:
喜欢这个:
P1 P2 P3 P4
C1 0 0 0 0
C2 10 15 0 0
C3 0 0 0 0
C4 0 13 0 0
C5 0 0 0 19
任何人都可以帮助完成此查询任务吗?
答案 0 :(得分:4)
诀窍是:
首先建立一个常规的SELECT查询,联接3个表,该查询返回所需的列(CustomerName,ProductName,Quantity)
然后在此基础查询上运行交叉表查询向导,这将是不言自明的。
我需要获取我的表客户和产品的所有记录,即使是没有订单记录的记录。
然后对于1.中的基本查询,您需要一个Full Outer Join。
答案 1 :(得分:0)
选择idcustomer,[1]作为p1,[2]作为p2,[3]作为p3,[4]作为p4 从 ( 从订单中选择 idcustomer,idproduct,quantity)ps 枢 (总和(数量) 对于 ([1],[2],[3],[4]) 中的 idproduct ) 光伏; 我仍然无法弄清楚如何将 idcustomer 更改为 customername,但这对你有帮助(我确定!!)。