如何将 sql 查询返回的值拆分为 SQL SERVER 中的多个列?

不朽

我有一个函数,它在调用时返回以下信息:

select * from functionName(null, '1 jan 2016', '30 dec 2016') 

输出:

    pcode       PayoutDate

   100         2016-02-28 00:00:00:000
   100         2016-05-31 00:00:00:000
   100         3016-08-31 00:00:00:000
   100         3016-11-30 00:00:00:000
   103         2016-02-28 00:00:00:000
   103         2016-05-31 00:00:00:000
   103         3016-08-31 00:00:00:000
   103         3016-11-30 00:00:00:000

我们会在 2 月底、5 月、8 月和 11 月底向客户付款。

所以我想要实现的是让每个月都有自己的日期,如下所示:

pcode    May                        August                November

100    2016-05-31 00:00:00:000  3016-08-31 00:00:00:000  3016-11-30 00:00:00:000 
103    2016-05-31 00:00:00:000  3016-08-31 00:00:00:000  3016-11-30 00:00:00:000 

如何拆分数据集以反映如上所示?

我真的不知道如何解决这个问题,任何人有任何想法吗?

马特

PIVOT

SELECT * FROM 
(SELECT pcode, datename(month, PayoutDate) AS Month, PayoutDate FROM yourtable) a
PIVOT
(MIN(PayoutDate) FOR Month IN ([May], [August], [November]))b

输出

pcode May                  August               November
100   2016-05-31T00:00:00Z 3016-08-31T00:00:00Z 3016-11-30T00:00:00Z
103   2016-05-31T00:00:00Z 3016-08-31T00:00:00Z 3016-11-30T00:00:00Z

SQL小提琴:http ://sqlfiddle.com/#!6/9ed49/11/0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SQL Server将值拆分为列

使用 SQL Server 将一列中的字符串中的多个值拆分为多列

SQL Server:如何将多个行值分组到单独的列中?

sql server将逗号分隔的值拆分为列

如何使用SQL将列拆分为多个值

如何将数据拆分为postgres sql中的列?

SQL Server如何将列值转换为行

将逗号分隔的列中的值拆分为Sql Server中的多行

SQL Server-查询。如何将一列分为2个,行ID重复?

根据值将SQL列拆分为多个列

如何在SQL中将varchar列拆分为多个值?

从SQL Server中的多个XML列查询

如何将一列拆分为多列,然后在SQL或Pandas中计算新列中的空值?

如何删除 SQL Server 中的多个列

如何将 SQL SERVER 查询转换为 Oracle SQL?

SQL Server:将一行拆分为多行(值)

如何将MS SQL Server中每个组的10%的数据集拆分为“控制”,将90%的数据拆分为“测试”

如何将值连接在一列中?(SQL Server 2008R2)

如何将Byte []转换为数据以在SQL Server的varbinary(max)列中插入值?

如何将行值设置为 SQL Server 中的列?

SQL Server:如何将行中的不同项目转换为列值

如何将所有文本行值转换为SQL Server中的列

SQL Server将一列拆分为多列

将一列拆分为两列 - SQL Server

如何将String SQL从拆分为?

将文本拆分为多列-SQL Server

子查询在SQL SErver 2008中返回了多个值

如何将多个变量放入 SQL 查询中

如何将单独列中冒号前后的单词拆分为sql中的行