SQL交叉表/数据透视表用于订单和产品

时间:2017-11-27 17:19:49

标签: sql sql-server

我有一个'Orders'表,如下所示:

CREATE TABLE [dbo].[Orders] (
[OrderID]      INT      IDENTITY (1, 1) NOT NULL,
[DatePurchase] DATETIME NOT NULL,
[Quantity]     INT      NOT NULL,
[TotalPrice]   REAL     NOT NULL,
[ProductID]    INT      NOT NULL,
[MemberID]     INT      NOT NULL,
PRIMARY KEY CLUSTERED ([OrderID] ASC),
FOREIGN KEY ([ProductID]) REFERENCES [dbo].[Product] ([ProductID]),
FOREIGN KEY ([MemberID]) REFERENCES [dbo].[Member] ([MemberID])
);

我想创建一个数据透视表查询,该查询能够显示使用产品名称作为列标题的每个产品的订单数量(即Product表中的Product.Name)。

示例数据:

Orders table:
OrderID    Date                 Quantity   TotalPrice     ProductID  MemberID
1          22/11/2017 00:00:00  3          39             14         27

Products table: 
ProductID   Price     Name 
11          13        Shorts

示例输出:

      Shorts    Top     Trousers
Orders    2         3       1

我试过环顾四周但是无法理解这些类型的查询,有人可以帮助我吗?

0 个答案:

没有答案