从关键字定义,但我仍然得到错误

Posted

技术标签:

【中文标题】从关键字定义,但我仍然得到错误【英文标题】:From keyword is define but I still get error 【发布时间】:2020-09-01 06:22:27 【问题描述】:

我试图理解这种类型的错误,但我无法理解。

ORA-00923:在预期的位置找不到 FROM 关键字 00923. 00000 - “在预期的地方找不到 FROM 关键字” *原因: *行动: 行错误:1 列:9

到目前为止,这是我尝试执行但出现错误的查询。正如我在这里看到的,如果我是对的,我有 FROM 关键字和结构是正确的。

SELECT 
    *, 
    (SELECT COUNT(*) 
     FROM project_plans PS1 
     WHERE PS1.Parent = PS.ProjectPlanID) AS children 
FROM 
    project_plans PS  
WHERE 
    PS.Parent = 23 AND PS.ProjectID = 141 
ORDER BY 
    Sort

这个查询有什么问题?我哪里做错了?

到目前为止,我在这里查看了这篇文章:

ORA-00923 From keyword not found where expected

【问题讨论】:

您缺少 project_plans 的别名。你应该使用 ps.* 来运行查询。 不,不是。我已经试过了。 第 1 行第 9 列指向这个位置,我可以看到这里唯一的问题是 PS.* 需要写。 我之前很伤心,我已经尝试过这个解决方案但仍然有同样的错误imgur.com/8iudOqA 注意细节,ps和*之间的用户点。 :) 【参考方案1】:

您只缺少带有 * 的别名,将其添加到您的查询中。 Order by 也应该有这个别名它会在未来产生问题

修改后的查询应如下所示

SELECT 
    PS.*, 
    (SELECT COUNT(*) 
     FROM project_plans PS1 
     WHERE PS1.Parent = PS.ProjectPlanID) AS children 
FROM 
    project_plans PS  
WHERE 
    PS.Parent = 23 AND PS.ProjectID = 141 
ORDER BY 
    PS.Sort

【讨论】:

以上是关于从关键字定义,但我仍然得到错误的主要内容,如果未能解决你的问题,请参考以下文章

UVA(769):关键链接得到错误答案

get() 得到了一个意外的关键字参数“pk”:django

Vigenere 给出错误的结果

static关键字

Scrum中的两个关键转变

__init__() 得到了一个意外的关键字参数“instance”,其中包含用于 inlineformset_factory 的自定义表单集