2017-10-10 4 views
0

다음 메시지가 나타나고 잘못된 것이 없습니다. 내 코드를 검토하는 데 도움이 필요합니다.SSMS : Oracle 오류 메시지 : 누락 된 표현

ERROR MSG :

OLE DB 공급자 연결된 서버 "S"에 대한 "OraOLEDB.Oracle"반환 메시지 "ORA-00936 :없는 표현". 메시지 7321, 수준 16, 상태 2, 줄 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'근처의 from 절에 2 쉼표가 표시됩니다. – sniperd

+0

감사합니다. 'bu'테이블을 추가했습니다. – cmpmd2

+0

_really_ 간단한 SELECT * FROM 테이블 명령문을 작성하고 오류가 발생할 때까지 확장하십시오. 연결된 서버 'S'가 맨 위에 표시되는 경우 연결된 서버가 실제로 올바르게 설정되어 있고 문제가 쿼리 자체에 있지 않은지 확인하는 것이 좋습니다. – sniperd

답변

0

이 작동합니다. "Month"와 "Month"열의 이름 주위에 큰 따옴표가 필요했습니다.