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
'c'근처의 from 절에 2 쉼표가 표시됩니다. – sniperd
감사합니다. 'bu'테이블을 추가했습니다. – cmpmd2
_really_ 간단한 SELECT * FROM 테이블 명령문을 작성하고 오류가 발생할 때까지 확장하십시오. 연결된 서버 'S'가 맨 위에 표시되는 경우 연결된 서버가 실제로 올바르게 설정되어 있고 문제가 쿼리 자체에 있지 않은지 확인하는 것이 좋습니다. – sniperd