sql-server - 使用 Pivot 或 Unpivot 将值分配给特定列
问题描述
我有一个具有以下结构的表:
+-------+-----------+--------+----------+--------+
| RefNo | TranType | Code | Remarks | Amount |
+-------+-----------+--------+----------+--------+
| 1 | BD | 400201 | abcc dfr | 200 |
| 1 | BD | 400202 | abcc dfr | 200 |
| 2 | BD | 400204 | defrt | 300 |
| 2 | BD | 400205 | defrt | 300 |
+-------+-----------+--------+----------+--------+
我需要将这些值转换为以下格式:
+-------+--------+--------+----------+----------+--------+
| RefNo | Code1 | Code2 | TranType | Remarks | Amount |
+-------+--------+--------+----------+----------+--------+
| 1 | 400201 | 400202 | BD | abcc dfr | 200 |
| 2 | 400204 | 400205 | BD | defrt | 300 |
+-------+--------+--------+----------+----------+--------+
解决方案
您不需要使用PIVOT,您可以使用简单的查询来完成。
SELECT t1.refno,
t1.code AS Code1,
t2.code AS Code2,
t1.trantype,
t1.amount
FROM @table t1
INNER JOIN @table t2
ON t1.refno = t2.refno
AND T1.code < T2.code
推荐阅读
- python-3.x - 如何在另一个python文件(python3.7)中使用来自一个python文件的变量数据
- spring - JMS ActiveMQ 消费者,何时确认
- android - 如何从 Activity 调用小部件
- html - 如何删除或隐藏视频控件,不是全部,只有全屏和音量
- oracle - 项目值更改并刷新交互式网格后,IG 的查询不适用于更改的值
- scala - Scalatest 提供 NaN 的匹配器吗?
- linux - 查找行并在末尾附加文本不起作用
- dynamics-crm - 出现错误,没有为给定实体定义实体映射
- leaflet - 无法使用 Leaflet 和 Leaflet knn 插件选择标记
- objective-c - 使用 AFNetWorking 上传文件是否有文件大小限制?