【发布时间】:2019-06-10 17:37:44
【问题描述】:
我想在 SQL Server 2008 中完成以下工作
我有一个如下的文章表
| ArticleId | Description |
|-----------+-------------|
| 1 | Test |
|-----------+-------------|
还有这样的订单预测表。
| ArticleId | Week | Order | Amount |
|-----------+--------------+--------+
| 1 | 51 | 1 | 0 |
| 1 | 52 | 2 | 150 |
| 1 | 1 | 3 | 0 |
| 1 | 2 | 4 | 200 |
| 1 | 3 | 5 | 0 |
|-----------+------+-------+--------+
有没有一种方法可以创建查询,为预测表中的每条记录按order 列的顺序生成一列。如果可能的话,我该怎么做?
| ArticleId | Description | Week51 | Week52 | Week1 | Week2 | Week3 |
|-----------+-------------+-----------------+-------+-------+-------+
| 1 | Test | 0 | 150 | 0 | 200 | 0 |
|-----------+-------------+--------+--------+-------+-------+-------+
【问题讨论】:
-
如果不使用动态 sql,您将绑定到带有 X 周参数的 CASE 语句或带有 X 列周数的 PIVOT,但是,我不知道隐藏空列。
-
您需要一个动态 SQL 数据透视表,它可以按照指定的顺序构建选择列表。 stackoverflow.com/questions/19015950/…
-
SQL Server dynamic PIVOT query? 和/或 T-SQL dynamic pivot 的可能重复项?
标签: sql sql-server sql-server-2008