Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server将列解压到包含字符串数据的行中_Sql_String_Tsql_Pivot - Fatal编程技术网

SQL Server将列解压到包含字符串数据的行中

SQL Server将列解压到包含字符串数据的行中,sql,string,tsql,pivot,Sql,String,Tsql,Pivot,如何将此SQL查询“unpivot”转换为多行?我还没有找到包含字符串数据的类似示例 我正在使用以下查询: SELECT MIN(DISTINCT CASE WHEN ARP.DisplayName0 = 'Adobe Reader XI (11.0.01)' AND ARP.Version0 = '11.0.01' THEN 'Adobe Reader XI (11.0.01) i

如何将此SQL查询“unpivot”转换为多行?我还没有找到包含字符串数据的类似示例

我正在使用以下查询:

SELECT MIN(DISTINCT CASE WHEN ARP.DisplayName0 = 'Adobe Reader XI (11.0.01)' AND 
                              ARP.Version0 = '11.0.01' 
                         THEN 'Adobe Reader XI (11.0.01) is  Complaint' 
                         ELSE 'Adobe Reader XI (11.0.01) is not  Complaint' 
                    END) as Reader, 
       MIN(DISTINCT CASE WHEN ARP.DisplayName0 = 'QuickTime' AND 
                              ARP.Version0 = '7.73.80.64' 
                         THEN 'Apple QuickTime is  Complaint' 
                         ELSE 'Apple QuickTime is not  Complaint' 
                    END) as Quicktime, 
       MIN(DISTINCT CASE WHEN ARP.DisplayName0 = 'McAfee Host Intrusion Prevention' AND 
                              ARP.Version0 = '8.00.0202' 
                         THEN 'McAfee HIPS is  Complaint' 
                         ELSE 'McAfee HIPS is not  Complaint' 
                    END) as 'McAfee HIPS'
FROM dbo.v_Add_Remove_Programs AS ARP 
RIGHT OUTER JOIN dbo.v_R_System AS SYS ON ARP.ResourceID = SYS.ResourceID
WHERE (SYS.Netbios_Name0 = 'ese-pkg-04a')
GROUP BY SYS.Netbios_Name0, SYS.ResourceID
返回的内容:

Reader                                   Quicktime                         McAfee HIPS
Adobe Reader XI (11.0.01) is  Complaint  Apple QuickTime is not Complaint  McAfee HIPS is not  Complaint
我想要的格式:

    读者Adobe读者席(十一?01)是投诉< /LI>
  • Quicktime苹果Quicktime不是投诉
  • McAfee Hips McAfee Hips不是投诉
试试:

SELECT MIN(CASE DN.Name
                WHEN 'Adobe Reader XI (11.0.01)'
                THEN CASE ARP.Version0 WHEN '11.0.01' 
                         THEN 'Adobe Reader XI (11.0.01) is  Complaint' 
                         ELSE 'Adobe Reader XI (11.0.01) is not  Complaint' 
                     END
                WHEN 'QuickTime'
                THEN CASE ARP.Version0 WHEN '7.73.80.64' 
                         THEN 'Apple QuickTime is  Complaint' 
                         ELSE 'Apple QuickTime is not  Complaint' 
                     END
                WHEN 'McAfee Host Intrusion Prevention'
                THEN CASE ARP.Version0 WHEN '8.00.0202' 
                         THEN 'McAfee HIPS is  Complaint' 
                         ELSE 'McAfee HIPS is not  Complaint' 
                     END
           END) as Complaint
FROM (SELECT 'Adobe Reader XI (11.0.01)' Name UNION ALL
      SELECT 'QuickTime' UNION ALL
      SELECT 'McAfee Host Intrusion Prevention') AS DN
CROSS JOIN dbo.v_R_System AS SYS 
LEFT JOIN dbo.v_Add_Remove_Programs AS ARP 
  ON ARP.ResourceID = SYS.ResourceID AND ARP.DisplayName0 = DN.Name
WHERE SYS.Netbios_Name0 = 'ese-pkg-04a'
GROUP BY SYS.Netbios_Name0, DN.Name