smartbi-v7以高斯数据库作为数据源,sql查询报schema T708不存在

问题描述

如下图,两个简单的子查询,拼接后出现schema T708不存在的错误
软件:smartbi v7;华为高斯数据库主备版
在这里插入图片描述

问题分析

下述语句在navicat中执行正常,但在smartbi中却报错

SELECT a.ds ,a.esnq,b.esdb  //没有给字段别名
FROM
(
	SELECT ds,count(*) AS esnq
	FROM lsksmlydb
	WHERE dbsj<'2023-01-01'
	GROUP BY ds
	ORDER BY ds
) a
LEFT JOIN
(
	SELECT ds,count(*) AS esdb
	FROM lsksmlydb
	WHERE dbsj>='2024-01-01'
	GROUP BY ds
	ORDER BY ds
) b
on a.ds=b.ds
ORDER BY a.ds

观察报错截图,smartbi主动给我原始的sql语句的外面多套了一层:

select T708.a.ds as F723,T708. a.esng as F724,T708.b.esdb as F725 from  (..........) T708

因此问题在于外面加的这层东西身上。
经过别人的提醒,当前版本高斯数据库是不支持大写的,除了select 、from、left join等查询关键字。
所以很可能是smartbi自作主张给原始sql套了一层大写的别名后导致高斯数据库识别不了。

又已知,以前的多层嵌套的sql能正常在smartbi执行,对比了一下发现能执行的在原sql最外层都给字段加了小写别名。

此时可以确定,smartbi 在遇到有子查询的sql语句时,如果发现最外层的字段没有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值