mybatis+pagehelper+GBase8s对复杂sql不支持
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【GBase版本】:v8.8
【操作系统】:centos
【问题描述】*:
使用pagehelper对简单sql分页正常支持,但涉及到WITH语法时报错并且没有具体报错原因,报错如下(以下sql在sql控制台执行正常运行,在系统内执行才报下面的问题):
### Error querying database. Cause: java.sql.SQLException: A syntax error has occurred.
### The error occurred while executing a query
### SQL: SELECT FIRST ? * FROM ( WITH allCompany AS ( SELECT ID, company_name FROM danger_company WHERE is_delete = '1' UNION SELECT ID, company_name FROM company_new WHERE is_delete = '0' AND update_time IS NOT NULL ) SELECT ac.ID, ac.company_name, SUM(CASE WHEN erh.hidden_type = '劳保用品' THEN 1 ELSE 0 END) AS lbyp_count, SUM(CASE WHEN erh.hidden_type = '危险作业管理' THEN 1 ELSE 0 END) AS wxzygl_count, SUM(CASE WHEN erh.hidden_type = '危险化学品管理' THEN 1 ELSE 0 END) AS wxhxpgl_count, SUM(CASE WHEN erh.hidden_type = '双重预防体系建设及运行情况' THEN 1 ELSE 0 END) AS szyftxjsjyhqk_count, SUM(CASE WHEN erh.hidden_type = '安全培训情况' THEN 1 ELSE 0 END) AS aqpxqk_count, SUM(CASE WHEN erh.hidden_type = '安全投入' THEN 1 ELSE 0 END) AS aqtr_count, SUM(CASE WHEN erh.hidden_type = '安全机构及人员' THEN 1 ELSE 0 END) AS aqjgjry_count, SUM(CASE WHEN erh.hidden_type = '安全警示标识' THEN 1 ELSE 0 END) AS aqjsbs_count, SUM(CASE WHEN erh.hidden_type = '应急管理情况' THEN 1 ELSE 0 END) AS yjglqk_count, SUM(CASE WHEN erh.hidden_type = '有限空间管理' THEN 1 ELSE 0 END) AS yxkjgl_count, SUM(CASE WHEN erh.hidden_type = '标准化建立情况' THEN 1 ELSE 0 END) AS bzhjlqk_count, SUM(CASE WHEN erh.hidden_type = '现场作业情况' THEN 1 ELSE 0 END) AS xczyqk_count, SUM(CASE WHEN erh.hidden_type = '用电安全' THEN 1 ELSE 0 END) AS ydaq_count, SUM(CASE WHEN erh.hidden_type = '相关方管理' THEN 1 ELSE 0 END) AS xgfgl_count, SUM(CASE WHEN erh.hidden_type = '相关管理制度制定情况' THEN 1 ELSE 0 END) AS xgglzdzdqk_count, SUM(CASE WHEN erh.hidden_type = '设备设施' THEN 1 ELSE 0 END) AS sbss_count, SUM(CASE WHEN erh.hidden_type = '责任制制定及签署落实情况' THEN 1 ELSE 0 END) AS zrzzdjqslsqk_count, COUNT(*) AS total_count FROM allCompany ac JOIN experts_record_hidden erh ON ac.ID = erh.com_id WHERE erh.hidden_type IS NOT NULL GROUP BY ac.ID,ac.company_name ORDER BY ac.ID ) TEMP_T
### Cause: java.sql.SQLException: A syntax error has occurred.
; bad SQL grammar []; nested exception is java.sql.SQLException: A syntax error has occurred.如何解决?
评论
SELECT
FIRST ? *
FROM
(
SELECT
ac.ID,
ac.company_name,
SUM( CASE WHEN erh.hidden_type = '劳保用品' THEN 1 ELSE 0 END ) AS lbyp_count,
SUM( CASE WHEN erh.hidden_type = '危险作业管理' THEN 1 ELSE 0 END ) AS wxzygl_count,
SUM( CASE WHEN erh.hidden_type = '危险化学品管理' THEN 1 ELSE 0 END ) AS wxhxpgl_count,
SUM( CASE WHEN erh.hidden_type = '双重预防体系建设及运行情况' THEN 1 ELSE 0 END ) AS szyftxjsjyhqk_count,
SUM( CASE WHEN erh.hidden_type = '安全培训情况' THEN 1 ELSE 0 END ) AS aqpxqk_count,
SUM( CASE WHEN erh.hidden_type = '安全投入' THEN 1 ELSE 0 END ) AS aqtr_count,
SUM( CASE WHEN erh.hidden_type = '安全机构及人员' THEN 1 ELSE 0 END ) AS aqjgjry_count,
SUM( CASE WHEN erh.hidden_type = '安全警示标识' THEN 1 ELSE 0 END ) AS aqjsbs_count,
SUM( CASE WHEN erh.hidden_type = '应急管理情况' THEN 1 ELSE 0 END ) AS yjglqk_count,
SUM( CASE WHEN erh.hidden_type = '有限空间管理' THEN 1 ELSE 0 END ) AS yxkjgl_count,
SUM( CASE WHEN erh.hidden_type = '标准化建立情况' THEN 1 ELSE 0 END ) AS bzhjlqk_count,
SUM( CASE WHEN erh.hidden_type = '现场作业情况' THEN 1 ELSE 0 END ) AS xczyqk_count,
SUM( CASE WHEN erh.hidden_type = '用电安全' THEN 1 ELSE 0 END ) AS ydaq_count,
SUM( CASE WHEN erh.hidden_type = '相关方管理' THEN 1 ELSE 0 END ) AS xgfgl_count,
SUM( CASE WHEN erh.hidden_type = '相关管理制度制定情况' THEN 1 ELSE 0 END ) AS xgglzdzdqk_count,
SUM( CASE WHEN erh.hidden_type = '设备设施' THEN 1 ELSE 0 END ) AS sbss_count,
SUM( CASE WHEN erh.hidden_type = '责任制制定及签署落实情况' THEN 1 ELSE 0 END ) AS zrzzdjqslsqk_count,
COUNT(*) AS total_count
FROM
(
SELECT
ID,
company_name
FROM
danger_company
WHERE
is_delete = '1'
UNION SELECT
ID,
company_name
FROM
company_new
WHERE
is_delete = '0'
AND update_time IS NOT NULL
) ac
JOIN experts_record_hidden erh ON
ac.ID = erh.com_id
WHERE
erh.hidden_type IS NOT NULL
GROUP BY
ac.ID,
ac.company_name
ORDER BY
ac.ID
) TEMP_T
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526