複数の列を複数の行に変換する場合のように、この SQL クエリを「アンピボット」するにはどうすればよいですか? 文字列データを含む同様の例は見つかりませんでした。
次のクエリを使用しています。
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
私の希望のフォーマット:
- Reader Adobe Reader XI (11.0.01) は苦情です
- Quicktime Apple QuickTime は苦情ではありません
- McAfee Hips McAfee HIPS は苦情ではありません