sql-server - 一个简单的支点,但我无法理解 - 请协助..:-)
问题描述
我尝试在 MS SSMS 中做一个简单的支点,但无法弄清楚。
这是我的数据集:
Date CallerANI Skills CallerDNIS
2019-05-27 27315391449 loc-SPD-CSR-OverFlow 47515070001
2019-05-27 27315391449 cc-Loc-Voice Transfer
和声明:
SELECT [Date],
CallerANI,
[47515001101],
[Transfer]
FROM (SELECT [Date], Skills, CallerANI, CallerDNIS FROM #TempDB) AS p
PIVOT (MAX(Skills)
FOR CallerDNIS IN ([47515001101], [Transfer])) AS pvt;
我想旋转以使结果如下所示:
Date CallerANI [47515070001] [Transfer]
2019-05-27 273135391449 loc-SPD-CSR-OverFlow cc-loc-Voice
解决方案
就个人而言,我更喜欢使用交叉表而不是内置PIVOT
函数。我发现它更容易使用:
SELECT [Date],
CallerANI,
MAX(CASE WHEN V.CallerDNIS = '47515070001' THEN Skills END) AS [47515070001],
MAX(CASE WHEN V.CallerDNIS = 'Transfer' THEN Skills END) AS [Transfer]
FROM (VALUES (CONVERT(date,'20190527'),27315391449,'loc-SPD-CSR-OverFlow','47515070001'),
(CONVERT(date,'20190527'),27315391449,'cc-Loc-Voice','Transfer')) V([Date],CallerANI,Skills,CallerDNIS)
GROUP BY [Date],
CallerANI;
推荐阅读
- javascript - 分组类别未在 wordpress 网站上正确显示
- google-bigquery - BigQuery 每 x 行返回数据
- php - PHP 容器在 localhost 上看不到我的应用程序
- ios - 应用程序在从库中选择媒体时崩溃,但将 nil 元素插入数组时除外
- sql-server - “过程需要未提供的参数...” SQL 跟踪指示过程获取参数
- java - 我收到 HTTP 状态 500 - 在 eclipse 中执行此代码时出现内部服务器错误。如何解决我的 java 项目中的错误
- node.js - 存储和使用 JWT 和密钥
- perl - 如何安装不在 CPAN 上的 Perl 模块?
- azure - 将 CreateTableIfNotExists 或 DoesTableExist 与 Azure 表存储一起使用是否有任何开销?
- laravel - Laravel Voyager symlink():没有这样的文件或目录 CPanel