2017-10-10 6 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

私はあなたのfrom句の2つのカンマを 'c'の近くに表示しています – sniperd

+0

ありがとう。私は 'bu'テーブルを追加しました – cmpmd2

+0

_really_単純なSELECT * FROMテーブルステートメントを作成し、エラーが発生するまで展開してください。リンクされたサーバー 'S'が一番上に表示されます。これは、リンクサーバーが実際に正しくセットアップされ、クエリ自体に問題がないことを確認する良い方法です。 – sniperd

答えて

0

それが動作するようになりました。列 "Month"と "Month"の二重引用符が必要でした。

関連する問題