SQLite -“near)的问题:语法错误”

xt0899hw  于 2023-01-31  发布在  SQLite
关注(0)|答案(1)|浏览(285)

我在这里尝试,因为我没有找到任何其他地方。我有一个查询,已由我的同事和“老师”检查,但错误仍然存在:
“近):语法错误””。
(最后一个)查询如下:

WITH valeur_par_ville AS
(
SELECT dep_code, com_code, AVG(valeur_fonciere) as valeur
FROM vente
JOIN bien ON bien.bien_id = vente.bien_id
JOIN commune ON commune.com_id = bien.com_id
WHERE dep_code IN (6,13,33,59,69)
GROUP BY dep_code, com_id
)
SELECT dep_code AS "Département", com_id AS "Commune", round(valeur,1) AS "Prix moyen"
FROM(
SELECT dep_code, com_nom, valeur_fonciere,
rank() OVER (PARTITION BY dep_code ORDER BY valeur_fonciere DESC) AS
rang
FROM valeur_par_ville) AS result
WHERE rang <= 3

我希望你能帮助我,因为它成为“黑魔法”给我!谢谢。
我尝试了不同的方法来得到结果,但同样的事情还是继续...我检查了所有的数据表,更新了SQLite(所以PARTITION BY现在可以在它上面工作),重新启动,一点一点地检查查询...不知道它来自哪里。
其他同事(我们是学生)设法有一个有效的结果与自己的查询。但对我来说:“近):语法错误””。

goqiplq2

goqiplq21#

错误来自代码的不同部分。我添加了CREATETABLE语句以便能够运行您的代码,但它的失败方式不同。

CREATE TABLE vente(dep_code, com_code, valeur_fonciere, bien_id);
CREATE TABLE bien(bien_id, com_id);
CREATE TABLE commune(com_id);
-- your code here

错误:

Parse error near line 4: ambiguous column name: com_id
  RE dep_code IN (6,13,33,59,69) GROUP BY dep_code, com_id ) SELECT dep_code AS 
                                      error here ---^

在用表名作为前缀之后,还会出现另一组错误,例如:
一个二个一个一个
等等。

相关问题