简体   繁体   English

Kronos SQL Query-ORA-00923:未在预期位置找到 FROM 关键字

[英]Kronos SQL Query-ORA-00923: FROM keyword not found where expected

So I'm trying to query Kronos production and I'm coming against the error ORA-00923: "FROM keyword not found where expected ".所以我正在尝试查询 Kronos 生产,但我遇到了错误 ORA-00923:“FROM keyword not found where expected”。 I've read similar posts and as you can see below, the keyword FROM is the last selected item in the statement.我读过类似的帖子,正如您在下面看到的,关键字 FROM 是语句中最后选择的项目。

SELECT  A.NAME AS 'Accrual Profile',
        A3.NAME AS 'Accrual Policy',
       "Hidden Accrual Policy" = CASE 
                                      WHEN A2.DISPLAYSW = 1 THEN 'Not Hidden'
                                      ELSE 'Hidden' 
                                 END,
        A4.NAME AS 'Accrual Code',
        A5.NAME AS 'Overflow Accrual Code',
        D.NAME AS 'Length of Service Reference',
        A3.GRANULARITYAMT AS 'Grant',
        A3.FUTOVERDRFTERRAMT AS 'Future overdrafts - disallow amount',
        A3.FUTOVERDRFTWARNAMT AS 'Future overdrafts - warn amount',
        A3.IMPORTOVERRIDE_SW AS 'Override Warnings during Imports',
        A3.GRPEDITOVERRIDE_SW AS 'Override Warnings during Group Edits',
        A3.MAXTAKENAMOUNT,
        A3.MINTAKENAMOUNT,
        A3.USEFTEBALANCEADJSW,
        A3.USESCHEDAMTTYPESW,
        A3.USETODAYSBALNCE_SW,
        P.NAME AS 'Probation',
        P.TYPE AS 'Probation Type',
        T.NAME AS 'Taking Limit',
        D2.NAME AS 'Taking Limit Date Pattern',
        G.NAME AS 'Grant/Limit Name',
        "Limit or Grant Type" = CASE
                                   WHEN G.GRANTTYPE = 'E' THEN 'Earned Grant'
                                   WHEN G.GRANTTYPE = 'F' THEN 'Fixed Grant'
                                   WHEN G.GRANTTYPE = 'B' THEN 'Earning Balance Limit'
                                   WHEN G.GRANTTYPE = 'A' THEN 'Earning Amount Limit'
                                   WHEN G.GRANTTYPE = 'C' THEN 'Carry Over Limit'
                                   ELSE 'Other/Cap on Earnings?'
                                END,
         D3.NAME AS 'Grant/Limit Date Pattern'
FROM ACCRUALPROFILE A
RIGHT OUTER JOIN ACCRUALPROFILEMM A2 ON A.ACCRUALPROFILEID = A2.ACCRUALPROFILEID
LEFT OUTER JOIN ACCRUALRULE A3 ON A2.ACCRUALRULEID = A3.ACCRUALRULEID
LEFT OUTER JOIN ACCRUALCODE A4 ON A3.ACCRUALCODEID = A4.ACCRUALCODEID
LEFT OUTER JOIN ACCRUALCODE A5 ON A3.OVRFLWACCRLCODEID = A5.ACCRUALCODEID
LEFT OUTER JOIN PROBATIONRULE P ON A3.PROBATIONRULEID = P.PROBATIONRULEID
LEFT OUTER JOIN DATESEQUENCE D ON A3.DATESEQUENCEID = D.DATESEQUENCEID
LEFT OUTER JOIN ACCRRLTAKELIMITMM A6 ON A3.ACCRUALRULEID = A6.ACCRUALRULEID
LEFT OUTER JOIN TAKINGLIMIT T ON A6.TAKINGLIMITID = T.TAKINGLIMITID
LEFT OUTER JOIN DATESEQUENCE D2 ON T.DATESEQUENCEID = D2.DATESEQUENCEID
LEFT OUTER JOIN ACCRRLGRANTRLMM A7 ON A3.ACCRUALRULEID = A7.ACCRUALRULEID
LEFT OUTER JOIN GRANTRULE G ON A7.GRANTRULEID = G.GRANTRULEID
LEFT OUTER JOIN DATESEQUENCE D3 ON G.DATESEQUENCEID = D3.DATESEQUENCEID

Moreover, I tried another solution by changing the enclosed alias in double quotation marks to see if that would work but that produced another set of errors.此外,我尝试了另一种解决方案,通过更改双引号中的别名来查看是否可行,但会产生另一组错误。 Lastly, I don't think I'm using any Oracle reserved words as an alias.最后,我认为我没有使用任何 Oracle 保留字作为别名。 I was hoping someone could check my code to see where I have got it wrong.我希望有人可以检查我的代码,看看我在哪里做错了。

So the fix involved replacing single quotes with double quotes and then fixing the CaseStatement.因此,修复涉及用双引号替换单引号,然后修复 CaseStatement。


SELECT  A.NAME AS "Accrual Profile",
        A3.NAME AS "Accrual Policy",
       CASE 
           WHEN A2.DISPLAYSW = 1 THEN 'Not Hidden'
           ELSE 'Hidden' 
       END,
        A4.NAME AS "Accrual Code",
        A5.NAME AS "Overflow Accrual Code",
        D.NAME AS "Length of Service Reference",
        A3.GRANULARITYAMT AS "Grant",
        A3.FUTOVERDRFTERRAMT AS "Future overdrafts - disallow amount",
        A3.FUTOVERDRFTWARNAMT AS "Future overdrafts - warn amount",
        A3.IMPORTOVERRIDE_SW AS "Override Warnings during Imports",
        A3.GRPEDITOVERRIDE_SW AS "Override Warnings during Group Edits",
        A3.MAXTAKENAMOUNT,
        A3.MINTAKENAMOUNT,
        A3.USEFTEBALANCEADJSW,
        A3.USESCHEDAMTTYPESW,
        A3.USETODAYSBALNCE_SW,
        P.NAME AS "Probation",
        P.TYPE AS "Probation Type",
        T.NAME AS "Taking Limit",
        D2.NAME AS "Taking Limit Date Pattern",
        G.NAME AS "Grant/Limit Name",
       CASE
            WHEN G.GRANTTYPE = 'E' THEN 'Earned Grant'
            WHEN G.GRANTTYPE = 'F' THEN 'Fixed Grant'
            WHEN G.GRANTTYPE = 'B' THEN 'Earning Balance Limit'
            WHEN G.GRANTTYPE = 'A' THEN 'Earning Amount Limit'
            WHEN G.GRANTTYPE = 'C' THEN 'Carry Over Limit'
            ELSE 'Other/Cap on Earnings?'
        END,
         D3.NAME AS "Grant/Limit Date Pattern"
FROM ACCRUALPROFILE A
RIGHT OUTER JOIN ACCRUALPROFILEMM A2 ON A.ACCRUALPROFILEID = A2.ACCRUALPROFILEID
LEFT OUTER JOIN ACCRUALRULE A3 ON A2.ACCRUALRULEID = A3.ACCRUALRULEID
LEFT OUTER JOIN ACCRUALCODE A4 ON A3.ACCRUALCODEID = A4.ACCRUALCODEID
LEFT OUTER JOIN ACCRUALCODE A5 ON A3.OVRFLWACCRLCODEID = A5.ACCRUALCODEID
LEFT OUTER JOIN PROBATIONRULE P ON A3.PROBATIONRULEID = P.PROBATIONRULEID
LEFT OUTER JOIN DATESEQUENCE D ON A3.DATESEQUENCEID = D.DATESEQUENCEID
LEFT OUTER JOIN ACCRRLTAKELIMITMM A6 ON A3.ACCRUALRULEID = A6.ACCRUALRULEID
LEFT OUTER JOIN TAKINGLIMIT T ON A6.TAKINGLIMITID = T.TAKINGLIMITID
LEFT OUTER JOIN DATESEQUENCE D2 ON T.DATESEQUENCEID = D2.DATESEQUENCEID
LEFT OUTER JOIN ACCRRLGRANTRLMM A7 ON A3.ACCRUALRULEID = A7.ACCRUALRULEID
LEFT OUTER JOIN GRANTRULE G ON A7.GRANTRULEID = G.GRANTRULEID
LEFT OUTER JOIN DATESEQUENCE D3 ON G.DATESEQUENCEID = D3.DATESEQUENCEID

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 SQL错误:ORA-00923:“未在预期的位置找到FROM关键字” - SQL Error: ORA-00923: “FROM keyword not found where expected” SQL ORACLE ORA-00923:在预期位置找不到FROM关键字 - SQL ORACLE ORA-00923: FROM keyword not found where expected SQL错误:ORA-00923:找不到所需的FROM关键字 - SQL Error: ORA-00923: FROM keyword not found where expected SQL 错误 ORA-00923:未在预期的位置找到 FROM 关键字 - SQL ERROR ORA-00923: FROM keyword not found where expected Oracle SQL查询问题ORA-00923:找不到FROM关键字 - Oracle sql query issue ORA-00923: FROM keyword not found where expected 在SQL Server中查询运行正常,在oracle中失败获取ORA-00923 FROM关键字未在预期位置找到 - Query runs fine in SQL Server fails in oracle get ORA-00923 FROM keyword not found where expected SQL错误:ORA-00923:在预期的位置未找到FROM关键字00923。00000-“在预期的位置未找到FROM关键字” - SQL Error: ORA-00923: FROM keyword not found where expected 00923. 00000 - “FROM keyword not found where expected” “ORA-00923:未在预期位置找到 FROM 关键字” - "ORA-00923: FROM keyword not found where expected" 动态插入 - ORA-00923:在预期的位置找不到FROM关键字 - Dynamic Insert — ORA-00923: FROM keyword not found where expected ORA-00923 FROM关键字未在预期位置找到 - ORA-00923 FROM keyword not found where expected
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM