1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/running-elephant-datart

 / Детали:

Sql parse bug

Предстоит сделать
Владелец
Создано  
30.11.2024

version: 1.0.0-rc.1
SQL:SELECT * FROM ( select a.* ,b.ly from ( SELECT a.master_id, c.NAME, c.name2, a.up_type, a.up_rmtype, a.up_rmno, a.up_real_rate, a.rm_type, a.rm_no, a.rm_real_rate, a.modify_user, a.create_datetime, b.arr, b.dep, a.up_reason, b.dsc_reason, b.company_id, b.source_id, b.agent_id, a.rm_real_rate - a.up_real_rate, b.rsv_no, b.grp_accnt, a.remark FROM gc_gxpms_master_upgrade a LEFT JOIN gc_gxpms_master_base b ON a.master_id = b.id LEFT JOIN gc_gxpms_master_guest c ON a.master_id = c.id LEFT JOIN ( SELECT entity_id, min( id ), min( create_datetime ) create_datetime FROM gc_gxpms_log_info WHERE new_value = 'I' GROUP BY entity_id ) d ON d.entity_id = a.master_id WHERE a.up_rmno != a.rm_no AND ( d.create_datetime < a.create_datetime OR d.create_datetime IS NULL ) AND a.hotel_group_id = 2 AND a.hotel_id = $hotel_id$ AND b.hotel_group_id = 2 AND b.hotel_id = $hotel_id$ AND c.hotel_group_id = 2 AND c.hotel_id = $hotel_id$ AND b.sta IN ( 'I', 'O', 'S' ) AND a.create_datetime BETWEEN $bgn_date$ AND $end_date$ order by a.master_id desc ,a.create_datetime desc union all SELECT a.master_id, c.NAME, c.name2, a.up_type, a.up_rmtype, a.up_rmno, a.up_real_rate, a.rm_type, a.rm_no, a.rm_real_rate, a.modify_user, a.create_datetime, b.arr, b.dep, a.up_reason, b.dsc_reason, b.company_id, b.source_id, b.agent_id, a.rm_real_rate - a.up_real_rate, b.rsv_no, b.grp_accnt, a.remark FROM gc_lspms_master_upgrade a LEFT JOIN gc_lspms_master_base b ON a.master_id = b.id LEFT JOIN gc_lspms_master_guest c ON a.master_id = c.id LEFT JOIN ( SELECT entity_id, min( id ), min( create_datetime ) create_datetime FROM gc_lspms_log_info WHERE new_value = 'I' GROUP BY entity_id ) d ON d.entity_id = a.master_id WHERE a.up_rmno != a.rm_no AND ( d.create_datetime < a.create_datetime OR d.create_datetime IS NULL ) AND a.hotel_group_id = 2 AND a.hotel_id = $hotel_id$ AND b.hotel_group_id = 2 AND b.hotel_id = $hotel_id$ AND c.hotel_group_id = 2 AND c.hotel_id = $hotel_id$ AND b.sta IN ( 'I', 'O', 'S' ) AND a.create_datetime BETWEEN $bgn_date$ AND $end_date$ order by a.master_id desc ,a.create_datetime desc union all SELECT a.master_id, c.NAME, c.name2, a.up_type, a.up_rmtype, a.up_rmno, a.up_real_rate, a.rm_type, a.rm_no, a.rm_real_rate, a.modify_user, a.create_datetime, b.arr, b.dep, a.up_reason, b.dsc_reason, b.company_id, b.source_id, b.agent_id, a.rm_real_rate - a.up_real_rate, b.rsv_no, b.grp_accnt, a.remark FROM gc_gxpms_master_upgrade a LEFT JOIN gc_gxpms_master_base_history b ON a.master_id = b.id LEFT JOIN gc_gxpms_master_guest_history c ON a.master_id = c.id LEFT JOIN ( SELECT entity_id, min( id ), min( create_datetime ) create_datetime FROM gc_gxpms_log_info WHERE new_value = 'I' GROUP BY entity_id ) d ON d.entity_id = a.master_id WHERE a.up_rmno != a.rm_no AND ( d.create_datetime < a.create_datetime OR d.create_datetime IS NULL ) AND a.hotel_group_id = 2 AND a.hotel_id = $hotel_id$ AND b.hotel_group_id = 2 AND b.hotel_id = $hotel_id$ AND c.hotel_group_id = 2 AND c.hotel_id = $hotel_id$ AND b.sta IN ( 'I', 'O', 'S' ) AND a.create_datetime BETWEEN $bgn_date$ AND $end_date$ order by a.master_id desc ,a.create_datetime desc union all SELECT a.master_id, c.NAME, c.name2, a.up_type, a.up_rmtype, a.up_rmno, a.up_real_rate, a.rm_type, a.rm_no, a.rm_real_rate, a.modify_user, a.create_datetime, b.arr, b.dep, a.up_reason, b.dsc_reason, b.company_id, b.source_id, b.agent_id, a.rm_real_rate - a.up_real_rate, b.rsv_no, b.grp_accnt, a.remark FROM gc_lspms_master_upgrade a LEFT JOIN gc_lspms_master_base_history b ON a.master_id = b.id LEFT JOIN gc_lspms_master_guest_history c ON a.master_id = c.id LEFT JOIN ( SELECT entity_id, min( id ), min( create_datetime ) create_datetime FROM gc_lspms_log_info WHERE new_value = 'I' GROUP BY entity_id ) d ON d.entity_id = a.master_id WHERE a.up_rmno != a.rm_no AND ( d.create_datetime < a.create_datetime OR d.create_datetime IS NULL ) AND a.hotel_group_id = 2 AND a.hotel_id = $hotel_id$ AND b.hotel_group_id = 2 AND b.hotel_id = $hotel_id$ AND c.hotel_group_id = 2 AND c.hotel_id = $hotel_id$ AND b.sta IN ( 'I', 'O', 'S' ) AND a.create_datetime BETWEEN $bgn_date$ AND $end_date$ order by a.master_id desc ,a.create_datetime desc ) a left join (select parent_code,code,ly from ( select parent_code,code,ifnull(descript,descript_en) as ly from gc_gxgroup_code_base where hotel_id=$hotel_id$ and parent_code in('upgrade_reason','rmchg_reason') order by parent_code asc ) a group by code ) b on a.up_reason = b.code order by a.master_id desc,create_datetime ) AS DATART_VTABLE LIMIT 1000 OFFSET 0
DB: MYSQL
EXCEPTION:org.apache.calcite.sql.parser.SqlParseException: Encountered "union" at line 1, column 1160.
Was expecting one of:
"FETCH" ...
"LIMIT" ...
"NULLS" ...
"OFFSET" ...
")" ...
"," ...

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/running-elephant-datart.git
git@api.gitlife.ru:oschina-mirror/running-elephant-datart.git
oschina-mirror
running-elephant-datart
running-elephant-datart