JDBC Connection [org.postgresql.jdbc.PgConnection@49f1bf43] will not be managed by Spring ==> Preparing: select z.*,y.PDTCLASS_CLASS FROM ( SELECT * FROM (SELECT r.PDT_PLANEX_PDTID,r.PDT_PLANEX_TYPE ,r.SUM_NUM,e.SUM_NUM2,e.COUNT_NUM FROM (SELECT SUM(t.PDT_PLANEX_NUM) as SUM_NUM,t.PDT_PLANEX_PDTID,t.PDT_PLANEX_TYPE FROM c_pdt_plan_ex t WHERE t.PDT_PLANEX_DELETED = 0 and t.DATA_FROM = ? and to_timestamp(?, 'yyyy-MM-dd HH:mm:ss.SSS') >= t.PDT_PLANEX_BEGIN and t.PDT_PLANEX_END >= to_timestamp(?, 'yyyy-MM-dd HH:mm:ss.SSS') GROUP BY t.PDT_PLANEX_PDTID,t.PDT_PLANEX_TYPE )r LEFT JOIN (SELECT SUM(o.WEISHT_NET_WGHT) SUM_NUM2,COUNT(1) COUNT_NUM,o.PDTINF_PDT,o.PDTINF_CLASS,o.PDT_PLANEX_PDTID,o.PDT_PLANEX_TYPE FROM(SELECT * FROM(SELECT * FROM (SELECT q.*, p.* FROM ( SELECT t.PDT_PLANEX_ID, t.PDT_PLANEX_NUM, t.PDT_PLANEX_PDTID, t.PDT_PLANEX_TYPE, t.PDT_PLANEX_BEGIN, t.PDT_PLANEX_END, t.PDT_PLANEX_COID FROM c_pdt_plan_ex t WHERE t.PDT_PLANEX_DELETED = 0 and t.DATA_FROM = ? and to_timestamp(?, 'yyyy-MM-dd HH:mm:ss.SSS') >= t.PDT_PLANEX_BEGIN and t.PDT_PLANEX_END >= to_timestamp(?, 'yyyy-MM-dd HH:mm:ss.SSS') GROUP BY t.PDT_PLANEX_PDTID, t.PDT_PLANEX_COID, t.PDT_PLANEX_TYPE, t.PDT_PLANEX_BEGIN, t.PDT_PLANEX_END, t.PDT_PLANEX_COID ) q LEFT JOIN (SELECT PDTINF_PDT, PDTINF_ID , PDTINF_CLASS FROM c_products_info WHERE PDTINF_DELETED=0 and DATA_FROM = ? )p on q.PDT_PLANEX_PDTID=p.PDTINF_ID)k LEFT JOIN (select g.CPY_CO,g.CPY_ID from c_companys g where CPY_DELETED=0 and DATA_FROM = ? ) c ON k.PDT_PLANEX_COID=c.CPY_ID)k inner JOIN (select j.WEISHT_NET_WGHT,j.WEISHT_PRODUCT,j.WEISHT_CO,j.WEISHT_EMPTY_TM,j.WEISHT_FULL_TM from c_weight_sheets j where WEISHT_DELETED = 0 and DATA_FROM = ? )r ON k.PDTINF_PDT=r.WEISHT_PRODUCT and k.CPY_CO=r.WEISHT_CO AND k.PDT_PLANEX_BEGIN <= r.WEISHT_FULL_TM AND k.PDT_PLANEX_END >= r.WEISHT_FULL_TM ORDER BY k.PDTINF_PDT )o GROUP BY o.PDT_PLANEX_PDTID)e ON e.PDT_PLANEX_PDTID=r.PDT_PLANEX_PDTID AND e.PDT_PLANEX_TYPE=r.PDT_PLANEX_TYPE)w left join (SELECT PDTINF_PDT, PDTINF_ID , PDTINF_CLASS FROM c_products_info WHERE PDTINF_DELETED=0 and DATA_FROM = ? )p on w.PDT_PLANEX_PDTID=p.PDTINF_ID) z left join (select PDTCLASS_CLASS,PDTCLASS_ID from c_pdt_class where PDTCLASS_DELETED=0) y on z.PDTINF_CLASS=y.PDTCLASS_ID ==> Parameters: e9f6ed8e091611ec842700163e092c06(String), 2023-10-08 23:59:59(String), 2020-10-08 23:59:59(String), e9f6ed8e091611ec842700163e092c06(String), 2023-10-08 23:59:59(String), 2020-10-08 23:59:59(String), e9f6ed8e091611ec842700163e092c06(String), e9f6ed8e091611ec842700163e092c06(String), e9f6ed8e091611ec842700163e092c06(String), e9f6ed8e091611ec842700163e092c06(String) Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@57f98196] [2023-06-01 21:16:02] [ERROR] -- Servlet.service() for servlet [dispatcherServlet] in context with path [/szIntranetweb] threw exception [Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: org.postgresql.util.PSQLException: 错误: 字段 "t.pdt_planex_id" 必须出现在 GROUP BY 子句中或者在聚合函数中使用
时间: 2023-10-09 19:16:21 浏览: 50
这段代码看起来像是在执行一个 SQL 查询语句,但是出现了一个错误:字段 "t.pdt_planex_id" 必须出现在 GROUP BY 子句中或者在聚合函数中使用。这个错误通常是由于 SQL 查询语句中的 GROUP BY 子句不完整导致的。可能需要检查一下查询语句中的 GROUP BY 子句是否正确,并且检查一下对应的数据库表结构是否符合要求。
相关问题
Caused by: org.postgresql.util.PSQLException: ERROR: operator does not exist: character varying = integer
这个错误通常是因为在 PostgreSQL 数据库中,你尝试使用 "varchar" 类型的字段和 "integer" 类型的字段进行比较,而这两种类型的数据是不能直接比较的。
你可以尝试将其中一个字段的类型转换为与另一个字段相同的类型,或者使用一个转换函数来将它们转换为相同的类型,例如:
```sql
SELECT * FROM your_table WHERE varchar_field = CAST(integer_field AS varchar);
```
或者:
```sql
SELECT * FROM your_table WHERE varchar_field = to_char(integer_field, '999');
```
这两种方法都将 "integer" 类型的字段转换为 "varchar" 类型的字段,以便进行比较。
Failed to obtain JDBC Connection; nested exception is org.postgresql.util.PSQLException: 尝试连线已失败。
这个错误可能是由于以下几种情况引起的:
1. PostgreSQL 数据库没有启动或者无法连接,你可以检查一下数据库的状态以及连接字符串是否正确。
2. 数据库连接池配置错误,比如连接池大小设置过小或者连接超时时间过短等等。
3. 数据库账号或者密码错误,你可以检查一下账号和密码是否正确。
4. 数据库访问权限不足,你可以检查一下数据库账号是否有足够的权限访问数据库。
以上是一些常见的导致连接 PostgreSQL 数据库失败的原因,你可以根据具体情况进行排查。