gpt4 book ai didi

mysql - 之前预期的聚合函数(在带有子查询的 SELECT 中

转载 作者:行者123 更新时间:2023-11-29 00:29:36 25 4
gpt4 key购买 nike

我有两张表 Project 和 Comptes 我想在一个查询中显示 Project 和他的厨师

我也是这样

 Query q=se.createQuery("SELECT p.idpro,p.IdProjet,p.NomProjet,p.DateDeb,p.DateFin,p.nomimg  (SELECT c.Nom,c.Prenom  FROM   Compte u WHERE  u.Id = p.IdChef group by u.id) FROM   Projets p ");

listPrj=q.list();
data.setWrappedData(listPrj);

但还是报错

Caused by: org.hibernate.QueryException: aggregate function expected before ( in SELECT [SELECT p.idpro,p.IdProjet,p.NomProjet,p.DateDeb,p.DateFin,p.nomimg  (SELECT c.Nom,c.Prenom  FROM   com.persistence.Compte u WHERE  u.Id = p.IdChef group by u.id) FROM   com.persistence.Projets p ]
at org.hibernate.hql.classic.SelectParser.token(SelectParser.java:100)
at org.hibernate.hql.classic.ClauseParser.token(ClauseParser.java:86)
at org.hibernate.hql.classic.ClauseParser.end(ClauseParser.java:113)
at org.hibernate.hql.classic.PreprocessingParser.end(PreprocessingParser.java:122)
at org.hibernate.hql.classic.ParserHelper.parse(ParserHelper.java:29)

我不知道怎么解决

最佳答案

问题的直接原因在于内部查询:

  SELECT c.Nom,   -- <-- Aggregate (min, max, sum etc.) expected here
c.Prenom -- <-- Aggregate (min, max, sum etc.) expected here
FROM Compte u
WHERE u.Id = p.IdChef
GROUP BY u.id

当使用 GROUP BY 时,SELECT 中的所有字段都应该是聚合函数或在分组中

查询本身非常繁琐,恕我直言,预计会出现这样的情况:

SELECT p.idpro,
p.IdProjet,
p.NomProjet,
p.DateDeb,
p.DateFin,
p.nomimg,
c.Nom,
c.Prenom
FROM Compte c,
Projets p
WHERE (c.Id = p.IdChef)

关于mysql - 之前预期的聚合函数(在带有子查询的 SELECT 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17214536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com