Kha*_*med 7 sql apache-spark-sql
我正在 Spark 上运行一个大部分使用 SQL 的进程。在其中一个工作流程中,我收到以下错误:
不匹配的输入“来自”期望
代码是
select a.ACCOUNT_IDENTIFIER,a.LAN_CD, a.BEST_CARD_NUMBER,
decision_id,
case when a.BEST_CARD_NUMBER = 1 then 'Y' else 'N' end as best_card_excl_flag
from (select a.ACCOUNT_IDENTIFIER,a.LAN_CD, a. decision_id row_number()
over (partition by CUST_GRP_MBRP_ID
order by coalesce(BEST_CARD_RANK,999)) as BEST_CARD_NUMBER
from Accounts_Inclusions_Exclusions_Flagged a) a
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚我一生中的错误是什么
我试过检查逗号错误或意外括号,但这似乎不是问题。
小智 7
在代码的第四行中,您只需在 a.decision_id 之后添加一个逗号,因为 row_number() 是一个单独的列/函数。
PS:尝试在嵌套选择语句中使用缩进,以便您和您的同事可以轻松理解代码。干杯!
我认为你的问题在于内部查询。a.和之间有一个空格,并且和decision_id之间缺少逗号。decision_idrow_number()
这是你想要的吗?
SELECT
a.ACCOUNT_IDENTIFIER,
a.LAN_CD,
a.BEST_CARD_NUMBER,
decision_id,
CASE WHEN a.BEST_CARD_NUMBER = 1 THEN 'Y' ELSE 'N' END AS best_card_excl_flag
FROM (
SELECT
a.ACCOUNT_IDENTIFIER,
a.LAN_CD,
a.decision_id,
row_number() OVER (partition BY CUST_GRP_MBRP_ID ORDER BY COALESCE(BEST_CARD_RANK,999)) AS BEST_CARD_NUMBER
FROM Accounts_Inclusions_Exclusions_Flagged A
) A;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82892 次 |
| 最近记录: |