我试图列出安装在我们系统上的.Net版本,由于某种原因,我的查询将结果返回到4.0版本的单独一行中。这是我的查询;
SELECT sys1.Netbios_NSELECT sys1.Netbios_Name0 AS Computername
,Max(CASE dn.Version0
WHEN '1.0'
THEN CASE dn.BuildNumber0
WHEN IsNull(dn.BuildNumber0, 1)
THEN dn.BuildNumber0
END
END) AS [.Net 1.0]
,Max(CASE dn.Version0
WHEN '1.1'
THEN CASE dn.BuildNumber0
WHEN IsNull(dn.BuildNumber0, 1)
THEN dn.BuildNumber0
END
END) AS [.Net 1.1]
,Max(CASE dn.Version0
WHEN '2.0'
THEN CASE dn.BuildNumber0
WHEN IsNull(dn.BuildNumber0, 1)
THEN dn.BuildNumber0
END
END) AS [.Net 2.0]
,Max(CASE dn.Version0
WHEN '3.0'
THEN CASE dn.BuildNumber0
WHEN IsNull(dn.BuildNumber0, 1)
THEN dn.BuildNumber0
END
END) AS [.Net 3.0]
,Max(CASE dn.Version0
WHEN '3.5'
THEN CASE dn.BuildNumber0
WHEN IsNull(dn.BuildNumber0, 1)
THEN dn.BuildNumber0
END
END) AS [.Net 3.5]
,Max(CASE dn.Version0
WHEN '3.5'
THEN CASE dn.ServicePack0
WHEN IsNull(dn.ServicePack0, 1)
THEN dn.ServicePack0
END
END) AS [.Net 3.5 ServicePack]
,Max(CASE dn.Version0
WHEN '4.0'
THEN CASE dn.BuildNumber0
WHEN IsNull(dn.BuildNumber0, 1)
THEN dn.BuildNumber0
END
END) AS [.Net 4.0]
,Max(CASE dn.Version0
WHEN '4.0'
THEN CASE dn.Release0
WHEN IsNull(dn.Release0, 1)
THEN dn.Release0
END
END) AS [.Net 4.0 Release]
,ConfigurationManager_002.dbo.v_GS_SYSTEM.Domain0 AS Domain
,sys1.Operating_System_Name_and0 AS Operating_System
,ConfigurationManager_002.dbo.v_GS_WORKSTATION_STATUS.LastHWScan
FROM v_r_system_valid sys1
LEFT JOIN v_gs_dotnetframeworks0 dn ON dn.ResourceID = sys1.ResourceID
LEFT JOIN ConfigurationManager_002.dbo.v_GS_SYSTEM ON sys1.ResourceID = ConfigurationManager_002.dbo.v_GS_SYSTEM.ResourceID
LEFT JOIN ConfigurationManager_002.dbo.v_GS_WORKSTATION_STATUS ON ConfigurationManager_002.dbo.v_GS_WORKSTATION_STATUS.ResourceID = sys1.ResourceID
GROUP BY sys1.Netbios_Name0
,dn.Release0
,ConfigurationManager_002.dbo.v_GS_SYSTEM.Domain0
,sys1.Operating_System_Name_and0
,ConfigurationManager_002.dbo.v_GS_WORKSTATION_STATUS.LastHWScan
ORDER BY ComputerName
我的结果显示为这样;
查询结果