0

是否可以在多列上按分组将多行值返回到列中

与不同。

如果我的表是:

QuantityTypeID 数量 OrderDate CompanyID TypeName

-------------- -------- ----------- -------- ---------

1 7.0000 2013-09-02 1 销售额

1 4.0000 2013-09-15 1 销售额

1 1.0000 2013-09-16 1 销售额

1 1.0000 2013-09-16 2 销售

2 1.0000 2013-08-25 1 销售额

3 1.0000 2013-08-25 1 销售额

4 1.0000 2013-09-11 1 销售额

选择应该返回:

OrderDate 1 2 3 4 CompanyID TypeName  

----------- ----- ----- ------ ------ ------ ---------

2013-08-25 NULL 1.0000 1.0000 NULL 1 销售

2013-09-02 7.0000 NULL NULL NULL 1 销售

2013-09-11 NULL NULL NULL 1.0000 1 销售

2013-09-15 4.0000 NULL NULL NULL 1 销售

2013-09-16 1.0000 NULL NULL NULL 1 销售

2013-09-16 1.0000 NULL NULL NULL 2 销售

4

1 回答 1

2

您需要对数据进行透视。

SELECT
  OrderDate, [1], [2], [3], [4], CompanyID, TypeName 
FROM test
PIVOT
(
  MAX(Quantity)
  FOR QUantityTypeID IN ([1], [2], [3], [4])
) as p

SQL 小提琴演示

于 2013-09-21T22:13:19.750 回答