从表的两个选定列生成的矩阵视图

NPK*_*NPK 5 sql database pivot view

假设我有一个包含Project_type, Project_No,OS_Platform列的表。这里我有limited Project_types和limited OS_Platforms。Project_type我想要一个数据库视图,它在和之间生成一个矩阵OS_Platform

 MY_TABLE : 
 Project_Type     Project_No       OS_Platform 
 Drivers          345              Linux
 WebService       453              Windows                    
 Drivers          034              Windows            
 Drivers          953              Solaris
 DesktopApp       840              Windows 
 WebService       882              Solaris   
Run Code Online (Sandbox Code Playgroud)

现在我已经将Project_typeOS_Platform作为选定的列。我想要这两列的矩阵视图,具有不同的行和列名称。

Project_Type     Linux    Windows     Solaris
WebService       null      true         true
Drivers          true      true         true
DesktopApp       null      true         null
Run Code Online (Sandbox Code Playgroud)

谁能告诉我是否可能。这怎么可能?

Nic*_*aro 0

您需要旋转/逆旋转您的值,将它们转换为您选择的格式。

这是关于堆栈溢出的数据透视的谷歌搜索。这些中的任何一个都会对你有好处。 https://www.google.com/search?q=sql+pivot+unpivot+site%3Astackoverflow.com&oq=sql+pivot+unpivot+site%3Astackoverflow.com&aqs=chrome.0.57.9985&sugexp=chrome,mod=8&sourceid= chrome&ie=UTF-8

现在,您会看到两种类型的答案。第一个是常规的旋转/逆旋转操作。这些对于已知数据集非常有效(简单,但不快) 。也就是说,如果您了解所有项目类型和平台,这就会很好地工作。

第二种是动态数据透视表,即使用动态 SQL 创建的数据透视表。这比较混乱,但允许您任意组合字段。

祝你好运!