Inceptor Parse error [Error 1110] line 102,24 SQL问题
今天遇到一个SQL跑不通的问题:

去掉cast as

去掉round

最初以为是Inceptor不兼容ORACLE语句Cast as 导致的,做的以下测试




发现都能跑通,说明Cast as语句在Inceptor中能正常使用。
然后仔细检查Sql语句
最初语句报错信息如下:

只执行前半部分,去掉left join能正常运行,验证了Cast as没错

加上left join后又报错:

最后发现,131行少写一个英文逗号,加上后问题解决。
原始SQL
with `__all_dim__` as (
select
*
from (
select
from_unixtime(
unix_timestamp(`__bts__`) -1,
'yyyy-MM-dd HH:mm:ss'
) as `__bts__`
from (
select
concat_ws(' ', `d`.`date`, `t`.`time_of_day`) as `__bts__`
from `ecmp`.`dim_date` as `d`
left join `ecmp`.`dim_time_of_day` as `t` on 1 = 1
where
`d`.`date` >= '2019-12-24'
and `d`.`date` <= '2019-12-25'
) as `__bts___tp1`
where
`__bts__` > '2019-12-24 00:00:00'
and `__bts__` <= '2019-12-25 00:00:00'
and second(`__bts__`) = 0
and minute(`__bts__`) = 0
and hour(`__bts__`) = 0
and pmod(day(`__bts__`), 1) = 0
) as `__time_model__`
cross join (
select
`dd_60139`.`ci_pk` as `ci_pk`,
`dd_60139`.`ci_id` as `ci_id`,
`dd_60139`.`ci_code` as `ci_code`,
`dd_60139`.`ci_name` as `ci_name`,
`dd_60139`.`bs_pk` as `bs_pk`,
`dd_60139`.`aps_pk` as `aps_pk`,
`dd_60139`.`tenant_pk` as `tenant_pk`,
`dd_60139`.`ts_pk` as `ts_pk`,
`dd_60139`.`oc_pk` as `oc_pk`,
`dd_60139`.`bs_id` as `bs_id`,
`dd_60139`.`aps_id` as `aps_id`,
`dd_60139`.`tenant_id` as `tenant_id`,
`dd_60139`.`oc_id` as `oc_id`,
`dd_60139`.`ts_id` as `ts_id`,
`dd_60139`.`tenant_name` as `tenant_name`,
`dd_60139`.`oc_name` as `oc_name`,
`dd_60139`.`aps_dname` as `aps_dname`,
`dd_60139`.`bs_name` as `bs_name`,
`dd_60139`.`ts_name` as `ts_name`
from `ecmp`.`dim_ci` as `dd_60139`
) as `ci_pk`
cross join (
select
'运维A角' as incident_acceptor_role
from system.dual
union all
select
'运维B角' as incident_acceptor_role
from system.dual
union all
select
'运维1.5线' as incident_acceptor_role
from system.dual
union all
select
'其他' as incident_acceptor_role
from system.dual
) as `incident_acceptor_role`
)
,`t` as (
select
`ci_pk`,
`accept_incident_count`,
`aps_pk`,
`incident_acceptor_role`,
rank() over(
partition by `aps_pk`,
`incident_acceptor_role`
order by
`accept_incident_count` DESC
) as `accept_incident_count_rank`,
rank() over(
partition by `aps_pk`,
`incident_acceptor_role`
order by
`accept_incident_count` ASC
) as `__inverse_rank__`
from (
select
`aps_pk`,
`incident_acceptor_role`,
`ci_pk`,
accept_incident_count as accept_incident_count
from `ecmp`.dws_ci_b00001t01_nd01_003
where
accept_incident_count is not null
and `__bts__` >= '2019-12-24 00:00:00'
AND `__bts__` <= '2019-12-24 23:59:59'
) as `t0`
)
--insert into `ecmp`.`dws_ci_b00001t04_nd01_018`(`__bts__`,`__cts__`,`accept_incident_count`,`accept_incident_count_rank`,`accept_incident_count_win_rate`,`aps_dname`,`aps_id`,`aps_pk`,`bs_id`,`bs_name`,`bs_pk`,`ci_code`,`ci_id`,`ci_name`,`ci_pk`,`incident_acceptor_role`,`oc_id`,`oc_name`,`oc_pk`,`tenant_id`,`tenant_name`,`tenant_pk`,`ts_id`,`ts_name`,`ts_pk`) select
`__all_dim__`.`ci_pk` as `ci_pk`,
`__all_dim__`.`incident_acceptor_role` as `incident_acceptor_role`,
CAST(round(nvl(`accept_incident_count`, 0), 0) as INT) as `accept_incident_count`,
CAST(round(`accept_incident_count_rank`, 0) as INT) as `accept_incident_count_rank`,
CAST(round(`accept_incident_count_win_rate`, 1) as DOUBLE) as `accept_incident_count_win_rate`,
`__all_dim__`.`ci_id` as `ci_id`,
`__all_dim__`.`ci_code` as `ci_code`,
`__all_dim__`.`ci_name` as `ci_name`,
`__all_dim__`.`bs_pk` as `bs_pk`,
`__all_dim__`.`aps_pk` as `aps_pk`,
`__all_dim__`.`tenant_pk` as `tenant_pk`,
`__all_dim__`.`ts_pk` as `ts_pk`,
`__all_dim__`.`oc_pk` as `oc_pk`,
`__all_dim__`.`bs_id` as `bs_id`,
`__all_dim__`.`aps_id` as `aps_id`,
`__all_dim__`.`tenant_id` as `tenant_id`,
`__all_dim__`.`oc_id` as `oc_id`,
`__all_dim__`.`ts_id` as `ts_id`,
`__all_dim__`.`tenant_name` as `tenant_name`,
`__all_dim__`.`oc_name` as `oc_name`,
`__all_dim__`.`aps_dname` as `aps_dname`,
`__all_dim__`.`bs_name` as `bs_name`,
`__all_dim__`.`ts_name` as `ts_name`,
CAST(SYSDATE as STRING) as `__cts__`,
`__all_dim__`.`__bts__` as `__bts__`
from `__all_dim__`
left join (
select
'2019-12-24 23:59:59' as `__bts__`,
`accept_incident_count`,
`accept_incident_count_rank`,
`accept_incident_count_win_rate`,//这一行
CAST(coalesce(`tp1`.`aps_pk`) as STRING) as `aps_pk`,
CAST(coalesce(`tp1`.`ci_pk`) as STRING) as `ci_pk`,
CAST(coalesce(`tp1`.`incident_acceptor_role`) as STRING) as `incident_acceptor_role`
from (
select
`t`.`ci_pk`,
`t`.`aps_pk`,
`t`.`incident_acceptor_role`,
`t`.`accept_incident_count`,
`t`.`accept_incident_count_rank`,
if(`c`.ct = 1,null,(`__inverse_rank__` -1) /(`c`.ct -1) * 100) as `accept_incident_count_win_rate`
from `t`
left join (
select
`aps_pk`,
`incident_acceptor_role`,
count(*) as `ct`
from `t`
group by
`aps_pk`,
`incident_acceptor_role`
) as `c`
on 1 = 1
and `t`.`aps_pk` = `c`.`aps_pk`
and `t`.`incident_acceptor_role` = `c`.`incident_acceptor_role`
) as `tp1`
) as `__dws__`
on `__all_dim__`.`__bts__` = `__dws__`.`__bts__`
and `__all_dim__`.`ci_pk` = `__dws__`.`ci_pk`
and `__all_dim__`.`incident_acceptor_role` = `__dws__`.`incident_acceptor_role`
Inceptor Parse error [Error 1110] line 102,24 SQL问题的更多相关文章
- Parse Fatal Error at line 41 column 24: 元素类型 "url-pattern" 必须由匹配的结束标记 "</url-pattern>" 终止
1.错误描述 严重: Parse Fatal Error at line 41 column 24: 元素类型 "url-pattern" 必须由匹配的结束标记 "< ...
- mysql报错:Cause: java.sql.SQLException: sql injection violation, syntax error: ERROR. pos 39, line 2, column 24, token CLOSE
因为close是mysql关键字 -- ::, DEBUG (BaseJdbcLogger.java:)- ==> Preparing: , -- ::, INFO (XmlBeanDefini ...
- Laravel Predis Error while reading line from the server.
问题 Laravel说明文档中的 Redis 发布与订阅案例,命令行运行php artisan redis:subscribe 到60s自动断开并报错 [Predis\Connection\Conne ...
- Faster RCNN 运行自己的数据,刚开始正常,后来就报错: Index exceeds matrix dimensions. Error in ori_demo (line 114) boxes_cell{i} = [boxes(:, (1+(i-1)*4):(i*4)), scores(:, i)];
function script_faster_rcnn_demo() close all; clc; clear mex; clear is_valid_handle; % to clear init ...
- make module失败的原因cc1: error: unrecognized command line option “-m64
cc1: error: unrecognized command line option "-m64"cc1: error: unrecognized command line o ...
- laravel redis Error while reading line from the server.
代码运行一段时间后,会报下面的错误. [Predis\Connection\ConnectionException] Error while reading line from the server. ...
- linux下安装QT5:error: unrecognized command line option ‘-fuse-ld=gold’
安装qt时在执行./configure时报错:error: unrecognized command line option '-fuse-ld=gold' 这个错误是qt的一个bug. 在装有gol ...
- 编辑sass报错:error style.scss (Line 3: Invalid GBK character "\xE5")解决办法
cmd.exe /D /C call C:/Ruby23-x64/bin/scss.bat --no-cache --update header.scss:header.css error heade ...
- qt opencv编译错误 /usr/local/lib/libopencv_imgcodecs.so.3.1:-1: error: error adding symbols: DSO missing from command line
转载自:http://tbfungeek.github.io/2016/03/05/Opencv-%E5%AE%89%E8%A3%85%E8%BF%87%E7%A8%8B%E4%B8%AD%E5%87 ...
随机推荐
- 知识图谱和neo4j的基本操作
一.知识图谱的简介 1.知识图谱是什么 知识图谱本质上是语义网络(Semantic Network)的知识库 可以理解为一个关系图网络. 2.什么是图 图(Graph)是由节点(Vertex)和边(E ...
- LeetCode701 二叉搜索树中插入结点
给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树. 返回插入后二叉搜索树的根节点. 保证原始二叉搜索树中不存在新值. 注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜 ...
- 【C++】《C++ Primer 》第二章
第二章 变量和基本类型 指针和引用的不同点 引用不是一个对象,它没有实际地址,但是指针是一个对象.允许对指针赋值和拷贝,而且在指针的生命周期内它可以先后指向几个不同的对象. 指针无须在定义时赋初值.
- Jenkins Android APP 持续集成体系建设二—自动部署、执行测试任务,关联打包任务
经过上一遍博客我们知道了怎么使用Jenkins自动打包,但打完包之后,我们还需要对新包进行回归测试,确定新包有没有问题,然后才能发布包,那么,话不多说,我们先来新建个自动化回归测试任务 新包自动化回归 ...
- jenkins 构建历史 显示版本号
0 jenkins 安装此插件: 此插件名为 " groovy postbuild " 1 效果图: 2 安装插件: 系统管理 --> 插件管理 --> 可选 ...
- Kubernetes K8S之kube-prometheus概述与部署
Kubernetes K8S之kube-prometheus概述与部署 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7. ...
- 使用K8s的一些经验和体会
坑 Java应用程序的奇怪案例 在微服务和容器化方面,工程师倾向于避免使用 Java,这主要是由于 Java 臭名昭著的内存管理.但是,现在情况发生了改变,过去几年来 Java 的容器兼容性得到了 ...
- Cookie&Session&Jsp总结
知识点梳理 Cookie&Session&Jsp 1 会话技术 1.1 会话管理概述 1.1.1 会话技术介绍 会话:浏览器和服务器之间的多次请求和响应 (一次对话) 为了实现一些功能 ...
- php压缩文件夹并下载到本地
/** * @param $path 要压缩的文件夹路径 * @param $filename 要生成的压缩包名称 */ public function create_zip($path,$filen ...
- 深度解读设备的“万能语言”HarmonyOS的分布式软总线能力
摘要:本文分享鸿蒙分布式软总线,并对相关源代码进行解析,为在鸿蒙系统平台上工作的相关人员的信息参考和指导. 总线是一种内部结构,在计算机系统中,主机的各个部件通过总线相连,外部设备通过相应的接口电路再 ...