각 ComuterName
한 행을 반환하는 쿼리를 갖고 싶습니다. 행에는 조회 된 응용 프로그램과 해당 버전이 있어야합니다.Sql 이중 행 여러 열 선택
SELECT DISTINCT
dbo.v_R_System.Name0 [ComputerName],
dbo.v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 [App],
dbo.v_GS_ADD_REMOVE_PROGRAMS.Version0
FROM
dbo.v_R_System
INNER JOIN dbo.v_GS_ADD_REMOVE_PROGRAMS
ON dbo.v_R_System.ResourceID = dbo.v_GS_ADD_REMOVE_PROGRAMS.ResourceID
INNER JOIN dbo.v_R_User
ON dbo.v_R_System.User_Name0 = dbo.v_R_User.User_Name0
INNER JOIN dbo.v_GS_COMPUTER_SYSTEM
ON dbo.v_R_System.Name0 = dbo.v_GS_COMPUTER_SYSTEM.Name0
INNER JOIN v_GS_PC_BIOS
ON dbo.v_R_System.ResourceID = dbo.v_GS_PC_BIOS.ResourceID
WHERE
dbo.v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 LIKE '%MS Word%'
OR dbo.v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 LIKE '%Adobe Reader%'
OR dbo.v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 LIKE '%Flash Player%'
반환이 : 내 현재 쿼리
╔══════════════╦════════════════════╦═════════╗
║ ComputerName ║ App ║ Version ║
╠══════════════╬════════════════════╬═════════╣
║ PC1 ║ MS Word ║ 12 ║
║ PC1 ║ Adobe Reader ║ 10.0.10 ║
║ PC1 ║ Adobe Flash Player ║ 15.1 ║
║ PC2 ║ MS Word ║ 15 ║
║ PC2 ║ Adobe Reader ║ 11.0.07 ║
║ PC2 ║ Adobe Flash Player ║ 16 ║
╚══════════════╩════════════════════╩═════════╝
나는이 방식으로 정보를 반환하고 싶습니다 :
╔══════════════╦═════════╦═════════╦══════════════╦═════════╦════════════════════╦═════════╗
║ ComputerName ║ App1 ║ App1Ver ║ App2 ║ App2Ver ║ App3 ║ App3Ver ║
╠══════════════╬═════════╬═════════╬══════════════╬═════════╬════════════════════╬═════════╣
║ PC1 ║ MS Word ║ 12 ║ Adobe Reader ║ 10.0.10 ║ Adobe Flash Player ║ 15.1 ║
║ PC2 ║ MS Word ║ 15 ║ Adobe Reader ║ 11.0.07 ║ Adobe Flash Player ║ 16 ║
╚══════════════╩═════════╩═════════╩══════════════╩═════════╩════════════════════╩═════════╝
이 데이터베이스는 SQL 서버 2008 R2에 저장됩니다.
미리 감사드립니다.
어떤 데이터베이스를 사용하고 있습니까? 이 개념은 PIVOT으로 알려져 있으며 구문은 제품에 따라 다를 수 있습니다. – Taryn
이 데이터베이스는 SQL Server 2008 R2에 저장됩니다. –