2013-07-15 5 views
0

아래 문법 오류를 보는 데 약간의 문제가 있습니다. 나는 이것을 fiddle demo에서 실행하려고 시도했지만 작동합니다. 나는 SQL 서버 2005를 사용하고있어 호환성 모드는 90CROSS APPLY를 사용할 때 'VALUES'키워드 근처에 구문이 올바르지 않습니다.

SELECT 
    C.col,C.value,C.sortorder 
FROM 
    PAY_REGISTRY PR 
CROSS APPLY 
(
VALUES (9,'Basic Salary',SALARY), 
    (10,'SANS Withholding',SANS), 
    (11,'Probationary Withholding',PROBI), 
    (12,'After PP Deduction',A_PP), 
    (13,'DAF Deduction',DAF), 
    (14,'Annual Leave',LIV_A), 
    (15,'Sick Leave',LIV_S), 
    (16,'Rest and Recreation',LIV_R), 
    (17,'Maternity Leave',LIV_M), 
    (18,'Paternity Leave',LIV_P), 
    (19,'Unpaid Leave',LIV_U), 
    (20,'Meal Allowance',MEAL), 
    (21,'Transportation Allowance',TRANS), 
    (22,'Business and Travel Allowance',TRAVEL), 
    (23,'Site Allowance',[SITE]), 
    (24,'Mobile/Phone Allowance',PHONE), 
    (25,'Education Allowance',EDU), 
    (26,'Bonus',BONUS), 
    (27,'Adjustment',ADJ), 
    (28,'AL Pay',AL_P), 
    (29,'Gross Pay',GROSS), 
    (30,'Retention Gross Pay',L_PP), 
    (31,'SHI Employee',SHI_EE), 
    (32,'SHI Employer',SHI_ER), 
    (33,'PIT',PIT), 
    (34,'Net Pay',NPAY), 
    (35,'Adjustment (Advance)',ADJ_AP), 
    (36,'Total Advance Salary',FS_AP), 
    (37,'Adjustment (Final)',ADJ_FP), 
    (38,'Total Final Salary',FS_FP) 
    ) C (sortorder,col,value) 

답변

3

The table values constructor 당신은 대신 (select ... union all select ...)과 파생 테이블을 사용하여 SQL Server 2008의 추가 된 것입니다.

+0

귀하의 빠른 @Mikael, 나는 해결책을 이미 발견하고 단지 '가치'가 작동하지 않는 이유를 게시하고 있습니다. 많은 감사! –