2012-05-23 3 views
2

내 응용 프로그램에 대한 보고서로 보안 매트릭스를 생성하려고합니다.SQL select 문에서 쿼리를 기반으로 열을 생성 할 수 있습니까?

이 질문을 보는 것은 거의 정확하게 내가 원하는 것입니다.

SQL Server: Examples of PIVOTing String data

나는 내 솔루션에 적응하기 위해 솔루션

SELECT Action, 
    MAX(CASE data WHEN 'View' THEN data ELSE '' END) ViewCol, 
    MAX(CASE data WHEN 'Edit' THEN data ELSE '' END) EditCol 
FROM t 
GROUP BY Action 

을 변경했습니다.

SELECT RefRoleId , 
     MAX(CASE Permission WHEN 'AdministerErrors' THEN 'X' ELSE '' END) 'Administer Errors' 
FROM RolePermission 
GROUP BY RefRoleId 

내가 볼 수있는 문제는 내가 가진 권한을 정확히 알고 쿼리의 열로 하드 코딩해야한다는 것입니다. 모든 단일 허가 오류 '

를 관리 나는 새로운

MAX ('AdministerErrors 'THEN'X 'ELSE' 'END 때 CASE 권한을)'해야합니다.

쿼리를 통해 SQL 쿼리에 표시 할 열을 추가 할 수있는 방법이 있습니까?

+0

가능한 중복 [SQL Server 동적 PIVOT 쿼리?] (http://stackoverflow.com/questions/10404348/sql-server-dynamic-pivot-query) –

답변

관련 문제