带有文本值的 SQL Server 数据透视表

Posted

技术标签:

【中文标题】带有文本值的 SQL Server 数据透视表【英文标题】:SQL Server Pivot Table with Text Values 【发布时间】:2020-01-03 17:51:50 【问题描述】:

我有一个名为 #CODE_LIST 的表,其中包含 5 个代码的列表和一个名为 #APPROVAL_LOG 的表,它按组显示特定代码的批准状态。

我想显示#CODE_LIST 中的所有代码类型和描述,并将组名转为#APPROVAL_LOG 中的列。数据透视表应包括每个代码类型的组批准标志(如果可用)。

表名称:#CODE_LIST

表名称:#APPROVAL_LOG

期望的输出:

【问题讨论】:

您能否提供您想要的输出示例,以便我们提供准确的解决方案? 我更新了原始帖子以包含所需输出的示例 【参考方案1】:

你似乎想要条件聚合:

select group_id,
       max(case when code_description = 'BMI' then approval_flag end) as bm_approval,
       . . . 
from approval_log
group by group_id;

对每个描述重复此操作。

【讨论】:

有没有办法连接两个表和数据透视表?因此,组名显示为列标题,下面列出了每种代码类型的状态。我更新了帖子以包含我的意思的示例。 @Alaskan5 。 . .这需要动态 SQL。

以上是关于带有文本值的 SQL Server 数据透视表的主要内容,如果未能解决你的问题,请参考以下文章

Sql Server 数据透视表未对结果集进行分组

从 SQL Server DB 更新单独工作表中的数据后自动刷新 Excel 2007 数据透视表

php sql中带有日期、变量类别和总和值的数据透视表

Microsoft Access 数据透视表到 SQL Server 数据透视表

Pyspark SQL:在数据透视表中保留只有空值的条目

SQL Server 连接表和数据透视表