Sql 缺少EOF“&引用;at"&引用;配置单元内查询

Sql 缺少EOF“&引用;at"&引用;配置单元内查询,sql,hive,compiler-errors,eof,parseexception,Sql,Hive,Compiler Errors,Eof,Parseexception,我真的是SQL的新手,这段代码是我以前的助手留下的 我正在使用配置单元查询,我在第53:65行发现一个问题,缺少EOF 代码如下: SELECT '24-08-20' AS AS_OF_DATE, 'KRK' AS Flag, B.COD_LOB AS LOB_CODE, A.COD_CUST AS CIF_KEY, A.NAM_CUST_SHRT AS CUST_NAME, CAST (A.COD_ACCT_NO AS CHAR(12)) as ACCOUNT_NUMBER, ' ' AS

我真的是SQL的新手,这段代码是我以前的助手留下的

我正在使用配置单元查询,我在第53:65行发现一个问题,缺少EOF

代码如下:

SELECT
'24-08-20' AS AS_OF_DATE,
'KRK' AS Flag,
B.COD_LOB AS LOB_CODE, 
A.COD_CUST AS CIF_KEY,
A.NAM_CUST_SHRT AS CUST_NAME,
CAST (A.COD_ACCT_NO AS CHAR(12)) as ACCOUNT_NUMBER,
' ' AS CONTRACT_REF_NO,
-------A.COD_CCY AS  CCY,
CASE A.COD_CCY WHEN 36 THEN 'AUD' WHEN 124 THEN 'CAD' WHEN 344 THEN 'HKD' WHEN 356 THEN 'INR' WHEN 360 THEN 'IDR'
WHEN 392 THEN 'JPY' WHEN 458 THEN 'MYR' WHEN 554 THEN 'NZD' WHEN 578 THEN 'NOK' WHEN 702 THEN 'SGD' WHEN 752 THEN 'SEK'
WHEN 756 THEN 'CHF' WHEN 764 THEN 'THB' WHEN 826 THEN 'GBP' WHEN 978 THEN 'EUR' WHEN 840 THEN 'USD' ELSE 'OTHER' END CCY,
cast (A.COD_PROD as char(10)) AS PRODUCT_CODE_NCBS,
cast (A.COD_PROD as char(10)) AS PROD_ICBS,
D.NAM_PRODUCT as  PRODUCT_DESC,
L.RAT_INT AS CUR_NET_RATE,
INT_VAR.RAT_VARIANCE AS RAT_VARIANCE,
'NULL' AS INDEX_RATE,
(CASE WHEN(INT_VAR.RAT_VARIANCE) IS NULL THEN L.RAT_INT ELSE (L.RAT_INT + INT_VAR.RAT_VARIANCE)END) AS NET_INTEREST,
rtrim(convert (DAT_ACCT_OPEN,111)) AS ACCOUNT_OPEN_DATE,
rtrim(convert(LINE_START_DATE,111)) AS ROLLOVER_DATE,
rtrim(convert(LINE_EXPIRY_DATE,111))AS MATURITY_DATE,
CAST (COD_ACCT_STAT AS CHAR(3)) AS ACCOUNT_STATUS,
rtrim(convert(LINE_EXPIRY_DATE,111))AS ACCOUNT_CLOSE_DATE,
B.COD_AO_BUSINESS AS AO_BUSINESS,
A.COD_CC_BRN AS BRANCH_CD,
C.cod_brn_type AS BRANCH_REGIONAL,
C.nam_branch AS BRANCH_DESCRIPTION,
(A.BAL_BOOK*-1) AS  BALANCE_ORI,
case when i.nam_ccy_short = 'IDR' and H.COD_CRR_TO>20 then (a.BAL_BOOK*-1)-tunggak.BUNGA_TUNGGAK else 
case when i.nam_ccy_short <> 'IDR' and H.COD_CRR_TO>20 then (a.BAL_BOOK*j.revrate*-1)-tunggak.BUNGA_TUNGGAK else 
case when i.nam_ccy_short = 'IDR' and H.COD_CRR_TO<=20 then (a.BAL_BOOK*-1) else (a.BAL_BOOK*j.revrate*-1) end end end as  BALANCE_IDR,
A.COD_LINE_NO AS CREDIT_LINE_ID,
G.RECORD_STAT AS LINE_STATUS,
M.dat_limit_start AS DATE_DISB,
G.LIMIT_AMOUNT AS  LIMIT_PLAFON_ORI,
case when i.nam_ccy_short = 'IDR' then (G.LIMIT_AMOUNT) else (G.LIMIT_AMOUNT*j.revrate) end  as  LIMIT_PLAFON_IDR,
H.COD_CRR_TO AS COLL,
'FCR-KRK-NCBS' AS SOURCE_DATA
-----------------------------------------
FROM (Select COD_CUST, NAM_CUST_SHRT,COD_ACCT_NO,COD_CCY,COD_PROD,COD_ACCT_STAT,COD_CC_BRN,BAL_BOOK,COD_LINE_NO,DAT_ACCT_OPEN from newmisplus2.BD_MIS_CH_ACCT_MAST where date_pr='20200824') A INNER JOIN (SELECT COD_PROD,COD_CCY,FLG_USE_TIERED_RATES_FOR_OD from newmisplus2.BD_CH_PROD_MAST WHERE COD_TYP_PROD='A' AND date_pr='20200824' ) X ON A.COD_PROD=X.COD_PROD AND A.COD_CCY=X.COD_CCY

LEFT JOIN (SELECT RAT_INT,COD_PROD from newmisplus2.BD_CH_INT_TAB WHERE COD_INT_TYPE='DR' AND date_pr='20200824') OD_DR ON A.COD_PROD=OD_DR.COD_PROD

LEFT JOIN (SELECT RAT_INT,COD_PROD from newmisplus2.BD_CH_INT_TAB WHERE COD_INT_TYPE='OL' AND date_pr='20200824') OD_OL ON A.COD_PROD=OD_OL.COD_PROD

LEFT JOIN (SELECT RAT_VARIANCE,COD_ACCT_NO from newmisplus2.BD_MIS_CH_ACCT_CUR_VARIANCE WHERE COD_INT_TYPE = 'DR' AND date_pr='20200824') INT_VAR 
ON A.COD_ACCT_NO=INT_VAR.COD_ACCT_NO

LEFT JOIN
(SELECT A.COD_LIMIT_NO,AMT_LIMIT,RAT_INT_EFFECTIVE,A.COD_ACCT_NO from newmisplus2.BD_CH_OD_LIMIT where date_pr='20200824') A
INNER JOIN (SELECT COD_ACCT_NO,MAX(COD_LIMIT_NO) AS COD_LIMIT_NO from newmisplus2.BD_CH_OD_LIMIT where date_pr='20200824' GROUP BY COD_ACCT_NO) B
ON A.COD_ACCT_NO=B.COD_ACCT_NO AND A.COD_LIMIT_NO=B.COD_LIMIT_NO OD_INT_EFF ON A.COD_ACCT_NO=OD_INT_EFF.COD_ACCT_NO
-----------------------------------------
选择
“24-08-20”截止日期,
“KRK”作为旗帜,
B.COD_LOB作为LOB_代码,
A.作为到岸价的货到付款客户,
A.NAM_CUST_作为客户名称,
将(A.COD账户号作为字符(12))转换为账号,
“”作为合同参考号,
-------A.作为CCY,
案例A:货到付款36时为“澳元”,124时为“加元”,344时为“港币”,356时为“卢比”,360时为“印尼盾”
392时为“日元”,458时为“马来西亚元”,554时为“新西兰元”,578时为“挪威元”,702时为“新加坡元”,752时为“瑞典元”
756时为“瑞士法郎”,764时为“泰铢”,826时为“英镑”,978时为“欧元”,840时为“美元”,其余为“其他”端CCY,
将(A.COD_PROD as char(10))转换为产品代码,
将(A.COD_PROD as char(10))转换为PROD_icb,
D.NAM_产品作为产品描述,
L.以当前净利率表示的鼠尾利率,
内部变量大鼠方差作为大鼠方差,
“空”作为索引率,
(当(内部变量老鼠方差)为空时,则L.RAT INT ELSE(内部变量老鼠方差+内部变量老鼠方差)结束)作为净利息,
rtrim(转换(账户未结日,111))为账户未结日,
rtrim(转换(行开始日期,111))为滚动日期,
rtrim(转换(第111行到期日))为到期日,
将(COD账户统计为字符(3))转换为账户状态,
rtrim(转换(第111行到期日)为账户关闭日,
B.商业运营商作为商业运营商,
A.作为分公司的商业发票,
C.cod_brn_类型作为区域分支,
C.nam_分行作为分行描述,
(A.余额账簿*-1)作为余额,
当i.nam_ccy_short='IDR'和H.COD_CRR_至>20时,则(a.BAL_BOOK*-1)-tunggak.BUNGA_tunggak else
当i.nam_ccy_做空'IDR'和H.COD_CRR_至>20时,则(a.BAL_BOOK*j.revrate*-1)-tunggak.BUNGA_tunggak else

当i.nam_ccy_short='IDR'和H.COD_CRR_TO时,可能存在更多问题。我发现:

LEFT JOIN
(SELECT A.COD_LIMIT_NO,AMT_LIMIT,RAT_INT_EFFECTIVE,A.COD_ACCT_NO from newmisplus2.BD_CH_OD_LIMIT where date_pr='20200824') A
INNER JOIN (SELECT COD_ACCT_NO,MAX(COD_LIMIT_NO) AS COD_LIMIT_NO from newmisplus2.BD_CH_OD_LIMIT where date_pr='20200824' GROUP BY COD_ACCT_NO) B
ON A.COD_ACCT_NO=B.COD_ACCT_NO AND A.COD_LIMIT_NO=B.COD_LIMIT_NO OD_INT_EFF ON A.COD_ACCT_NO=OD_INT_EFF.COD_ACCT_NO
A
子查询与FROM之后的第一个子查询具有相同的名称
A
,并且没有ON条件