2013-01-22 137 views
-5

我的代码是找不到错误

SELECT  dbo.COL_TBL_WAGES.[Job Group], SUM(CASE WHEN RRDD NOT LIKE '12%' AND RRDD NOT LIKE '13%' AND RRDD NOT LIKE '16%' AND RRDD NOT LIKE '17%' AND 
         RRDD NOT LIKE '2706%' AND RRDD NOT LIKE '2707%' AND RRDD NOT LIKE '2331' THEN DUR_IN_HOURS ELSE 0 END) AS SP_DOM_HOURS, SUM(CASE WHEN RRDD NOT LIKE '12%' AND RRDD NOT LIKE '13%' AND RRDD NOT LIKE '16%' AND RRDD NOT LIKE '17%' AND RRDD NOT LIKE '2706%' AND RRDD NOT LIKE '2707%' AND RRDD NOT LIKE '2331%' THEN CAST([2011 Total] AS FLOAT)*CASE WHEN IsNumeric([DUR_IN_HOURS]) =1 THEN CAST([DUR_IN_HOURS] AS FLOAT) ELSE 0 END)) AS SP_DOM_COST 
FROM   dbo.COL_v_STD_REP_FullCourseDetail INNER JOIN 
         dbo.COL_TBL_WAGES ON dbo.COL_v_STD_REP_FullCourseDetail.Job_Group_Code = dbo.COL_TBL_WAGES.[Job Group Code] INNER JOIN 
         dbo.COL_TBL_WAGES_INTL ON dbo.COL_TBL_WAGES.[Job Group Code] = dbo.COL_TBL_WAGES_INTL.[Job Group Code] 

出现的附近有语法错误的错误 ')'

+0

有关错误的任何提示? – LittleBobbyTables

+0

发布整个查询 – Ulises

+0

...和错误消息。并使用回车。 –

回答

3

您在第一CASE缺少END

SUM(CASE 
     WHEN RRDD NOT LIKE '12%' 
      AND RRDD NOT LIKE '13%' 
      AND RRDD NOT LIKE '16%' 
      AND RRDD NOT LIKE '17%' 
      AND RRDD NOT LIKE '2706%' 
      AND RRDD NOT LIKE '2707%' 
      AND RRDD NOT LIKE '2331%' 
     THEN CAST([2011 Total] AS FLOAT) 
     END -- this is missing 
    * 
    CASE 
     WHEN IsNumeric([DUR_IN_HOURS]) =1 
     THEN CAST([DUR_IN_HOURS] AS FLOAT) 
     ELSE 0 END) AS SP_DOM_COST 

您的完整查询将是:

SELECT dbo.COL_TBL_WAGES.[Job Group], 
    SUM(CASE 
      WHEN RRDD NOT LIKE '12%' 
       AND RRDD NOT LIKE '13%' 
       AND RRDD NOT LIKE '16%' 
       AND RRDD NOT LIKE '17%' 
       AND RRDD NOT LIKE '2706%' 
       AND RRDD NOT LIKE '2707%' 
       AND RRDD NOT LIKE '2331' 
      THEN DUR_IN_HOURS 
      ELSE 0 END) AS SP_DOM_HOURS, 
    SUM(CASE 
      WHEN RRDD NOT LIKE '12%' 
       AND RRDD NOT LIKE '13%' 
       AND RRDD NOT LIKE '16%' 
       AND RRDD NOT LIKE '17%' 
       AND RRDD NOT LIKE '2706%' 
       AND RRDD NOT LIKE '2707%' 
       AND RRDD NOT LIKE '2331%' 
      THEN CAST([2011 Total] AS FLOAT) END 
     * 
     CASE 
      WHEN IsNumeric([DUR_IN_HOURS]) =1 
      THEN CAST([DUR_IN_HOURS] AS FLOAT) 
      ELSE 0 END) AS SP_DOM_COST 
FROM dbo.COL_v_STD_REP_FullCourseDetail 
INNER JOIN dbo.COL_TBL_WAGES 
    ON dbo.COL_v_STD_REP_FullCourseDetail.Job_Group_Code = dbo.COL_TBL_WAGES.[Job Group Code] 
INNER JOIN dbo.COL_TBL_WAGES_INTL 
    ON dbo.COL_TBL_WAGES.[Job Group Code] = dbo.COL_TBL_WAGES_INTL.[Job Group Code] 
+0

我仍然得到相同的错误 – Andrew

+0

@Andrew看我的编辑,有一个额外的圆括号 – Taryn