2017-10-10 124 views
0

我收到以下消息,但无法找到问题所在。 我需要帮助审查我的代码。SSMS:Oracle错误消息:缺少表达

错误味精:

OLE DB提供程序 “OraOLEDB.Oracle” 链接服务器 “S” 返回消息 “ORA-00936:缺少表达式”。 Msg 7321,Level 16,State 2,Line 1

SELECT * 
FROM OPENQUERY(S, 

'select 
d.Pay_Period_ID, 
d.Start_Date, 
d.End-Date, 
l.LABORLEV2NM "Wrk Labor Acct", 
l.LABORLEV2dsc "Wrk Cost Center", 
l.LABORLEV2NM "Home Acct", 
a.personnum ID, 
A.LASTNM, 
CASE WHEN INSTR(A.FIRSTNM,'''') > 0 THEN TRIM(SUBSTR(A.FIRSTNM,1,INSTR(A.FIRSTNM,''''))) ELSE A.FIRSTNM END firstnm, 
a.PERSONFULLNAME "EmployeeName", 
l.LABORLEV3NM "Job Desc", 
bu.EXTERNAL_KEY "BU", 
k.fte "FTE", 
''Productive'' "Type", 
p.name "PayCode", 
to_char(last_day(add_months(w.adjAPPLYDTM,-1))+1, ''MM/DD/YYYY'') "Month", 
sum(w.DURATIONSECSQTY/60/60) "Hours", 
d.hourly_rate "Fixed Hrly", 
'''' "Dollars", 
CASE WHEN SUBSTR(l.LABORLEV2NM,1,3) = ''350'' THEN ''HMC'' 
WHEN SUBSTR(l.LABORLEV2NM,1,3) = ''351'' THEN ''HHH'' 
WHEN SUBSTR(l.LABORLEV2NM,1,3) = ''352'' THEN ''KAU'' 
END AS "Facility - Worked", 
SUBSTR(l.LABORLEV2NM,4,4) "Worked Dept GL", 
'''' "EMT", 
CONCAT(''FY'',to_char(add_months(w.adjAPPLYDTM, 8), ''YY'')) "FY" 
--to_char(add_months(w.adjAPPLYDTM, 8), ''YY'') fiscal_year 


from a, w, p, l, c, bu, k, d, b 

where 
w.paycodeid = p.paycodeid 
and w.laboracctid = l.laboracctid 
and c.Job_ID = b.Job_ID 
and c.position_number = b.postion_number 
and c.WFC_EMPLOYEE_ID = w.Employeeid 
and b.payroll_id = d.payroll_id 
and b.pay 
and c.bu_id = bu.bu_id 
and c.job_id = k.job_id 
and d.llid = l.laboracctid 
and a.personnum not like ''999%'' 
and a.personnum not like ''987%'' 
and w.employeeid = a.personid 
and a.homelaborlevelnm1 in (''350'', ''351'', ''352'') 
and w.ADJAPPLYDTM >= TO_DATE(''08/01/2017'', ''MM/DD/YYYY'') 
and w.ADJAPPLYDTM < TO_DATE(''09/01/2017'', ''MM/DD/YYYY'') 
and p.name like ''CT%Earned%'' 
') AS CT_Table 
+0

我确实在'c' – sniperd

+0

附近看到了2个逗号。谢谢。我添加了'bu'表 – cmpmd2

+0

尝试制作_really_简单的SELECT * FROM表语句并展开,直到出现错误。我在顶部看到链接服务器'S',这将是确保链接服务器实际安装正确且问题不在查询本身中的好方法。 – sniperd

回答

0

它现在有效。需要围绕“Month”和“Month”列名称的双引号。