【发布时间】:2021-09-09 22:07:06
【问题描述】:
我正在使用下面的代码,这给了我不。每月订单数
但我想在每个月的列中填入订单号。
| Ord Ref | Month | Party Name | Name of Item |
|---|---|---|---|
| Order 1 | Jun | Vendor 1 | Item A |
| Order 2 | Jun | Vendor 1 | Item B |
| Order 3 | Jun | Vendor 2 | Item B |
| Order 4 | Jun | Vendor 3 | Item C |
| Order 5 | Jul | Vendor 4 | Item C |
我需要的输出
| Name of Item | Jan | Feb | Mar | Apr | May | Jun | Jul |
|---|---|---|---|---|---|---|---|
| Item A | Order1 | ||||||
| Item B | Order2, Order 3 | ||||||
| Item C | Order 4 | Order5 |
SELECT *
FROM (SELECT [Name Of Item],
DATENAME(MONTH, OrderDate) [Month],
Count(1)[Ord Ref]
FROM Stock_Master_Pur_Ord_Del
GROUP BY [Name Of Item],
DATENAME(MONTH, OrderDate)) AS MontlySalesData
PIVOT(sum([Ord Ref])
FOR Month IN ([January],[February],[March],[April],[May],
[June],[July],[August],[September],[October],[November],
[December]) )AS MNamePivot
【问题讨论】:
-
请提供一个示例输出数据集并解释您当前查询的问题
-
查看您的查询
Ord Ref是一个整数,但在您显示的示例数据中,它是一个string? -
它是一个varchar
-
我需要的示例是项目 A 在 6 月份有两个订单,所以我需要 Test , Order1,Order2 在 jun 列下例如
-
目前,它给了我总数或总数。我在六月提出的订单
标签: sql sql-server pivot stuff