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
私はあなたのfrom句の2つのカンマを 'c'の近くに表示しています – sniperd
ありがとう。私は 'bu'テーブルを追加しました – cmpmd2
_really_単純なSELECT * FROMテーブルステートメントを作成し、エラーが発生するまで展開してください。リンクされたサーバー 'S'が一番上に表示されます。これは、リンクサーバーが実際に正しくセットアップされ、クエリ自体に問題がないことを確認する良い方法です。 – sniperd