【发布时间】:2016-06-11 18:57:03
【问题描述】:
我想根据 PolNo、Year、Platform、Number 将下表中的记录合并为一条记录。
| PolNo | YEAR | Platform | Number | Record | memo |
|-------|------|----------|--------|--------|---------------------|
| 123 | 2010 | pc | 1 | 1 | The user had issues |
| 123 | 2010 | pc | 1 | 2 | with the os. |
| 123 | 2009 | pc | 2 | 1 | Replaced RAM |
| 123 | 2010 | mac | 1 | 1 | Ordered new CDs |
| 564 | 2009 | mac | 1 | 1 | Broken CD TRAY |
| 564 | 2010 | mac | 1 | 1 | USB port dead |
| 564 | 2010 | pc | 1 | 1 | Ordered replacement |
| 564 | 2010 | pc | 1 | 2 | laptop |
记录将合并为一条记录(记录列不会结转)。同时,PolNo、Year、Platform 和 Number 被连接成一个 ID,而不是单独的列。
| ID | YEAR | Platform | memo |
|-----|------|----------|----------------------------------|
| 123 | 2010 | pc-1 | The user had issues with the os. |
| 123 | 2009 | pc-2 | Replaced RAM |
| 123 | 2010 | mac-1 | Ordered new CDs |
| 564 | 2009 | mac-1 | Broken CD TRAY |
| 564 | 2010 | mac-1 | USB port dead |
| 564 | 2010 | pc-1 | Ordered replacement laptop |
如您所见,我将上面第 1 行和第 6 行的记录合并到一个连续的备注字段中。然而,我有一些备忘录字段有 21 或 22 条记录要组合/加入。
不知道我将如何做到这一点。
思考光标,但我没有太多经验,听说它没有效果。该表有大约 64k 行要操作(其中 22k 有不止一条记录)
【问题讨论】:
-
欢迎使用 StackOverflow:如果您发布代码、XML 或数据示例,请在文本编辑器中突出显示这些行并单击“代码示例”按钮 (
{ }) 在编辑器工具栏上以很好地格式化和语法突出显示它! -
会的,谢谢 Marc...我的强迫症让我想为这个编辑器格式化它! :p
标签: sql-server tsql