请选择 进入手机版 | 继续访问电脑版
麦粉社区
>
建议征集
>
帖子详情

sql语句在平台莫名报错

建议征集 发表于 2021-8-26 10:35
发表于 2021-8-26 10:35:20
本帖最后由 麦粉601978 于 2021-8-26 10:37 编辑

smartBI里的sql sever 的sql语句是什么规则的,为什么在sqlsever数据库里可以运行的sql语句,到smartBI平台里就运行不了了,同样能运行的语句输出结果却不一样,有的排序在平台会失灵。
就下面的语句在最后加order by 年月在sqlsever数据库里可以实现排序,到了平台就报错。
select 30/count(1) as 现场平均报货间隔 ,客户名,销区,left(日期,7) as 年月 from (
select CONVERT(varchar(10), t.RTime, 120 ) as 日期,c.Name as 客户名,a.ssdq as 销区
from T_product_repor t
inner join T_CusConfig a on t.cusID=a.AutoID
inner join cbo_customer b on a.CusID=b.ID and a.organizeID=b.Org
inner join CBO_Customer_Trl c on b.ID=c.ID
where CONVERT(varchar(4), t.RTime, 120 ) = CONVERT(varchar(4), getdate(), 120 ) and t.organizeID in  ('1001909124826065','1002004095190158','1002004090163091','1001909124825818')
group by CONVERT(varchar(10), t.RTime, 120 ),c.Name,a.ssdq) tt

group by 客户名,销区,left(日期,7)
union all
select sum(现场平均报货间隔)/count(distinct 客户名) as 平均报货间隔,'合计','总计',年月 from (
select 30/count(1) as 现场平均报货间隔 ,客户名,销区,left(日期,7) as 年月 from (
select CONVERT(varchar(10), t.RTime, 120 ) as 日期,c.Name as 客户名,a.ssdq as 销区
from T_product_repor t
inner join T_CusConfig a on t.cusID=a.AutoID
inner join cbo_customer b on a.CusID=b.ID and a.organizeID=b.Org
inner join CBO_Customer_Trl c on b.ID=c.ID
where CONVERT(varchar(4), t.RTime, 120 ) = CONVERT(varchar(4), getdate(), 120 )
and t.organizeID in  ('1001909124826065','1002004095190158','1002004090163091','1001909124825818')
group by CONVERT(varchar(10), t.RTime, 120 ),c.Name,a.ssdq) tt

group by 客户名,销区,left(日期,7) ) t1  group by 年月
union all
select sum(现场平均报货间隔)/count(客户名) as 现场平均报货间隔,'合计',销区 ,年月  from (
select  30/count(1) as 现场平均报货间隔 ,客户名,销区,left(日期,7) as 年月 from (
select CONVERT(varchar(10), t.RTime, 120 ) as 日期,c.Name as 客户名,a.ssdq as 销区
from T_product_repor t
inner join T_CusConfig a on t.cusID=a.AutoID
inner join cbo_customer b on a.CusID=b.ID and a.organizeID=b.Org
inner join CBO_Customer_Trl c on b.ID=c.ID
where CONVERT(varchar(4), t.RTime, 120 ) = CONVERT(varchar(4), getdate(), 120 )
and t.organizeID in  ('1001909124826065','1002004095190158','1002004090163091','1001909124825818')
group by CONVERT(varchar(10), t.RTime, 120 ),c.Name,a.ssdq) tt

group by 客户名,销区,left(日期,7))  gg
group by 销区 ,年月 206406126fe67ab836.png




发表于 2021-8-26 11:31:40
回复

使用道具 举报

发表于 2021-8-26 14:44:48
你可以试着吧参数或者条件向上放一层,我也遇到过这个问题 原因是 sql层数嵌套太多系统识别不了你的别名
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

2回帖数 0关注人数 1090浏览人数
最后回复于:2021-8-26 14:44
快速回复 返回顶部 返回列表