sql里提取long类型字段报错

0
写了个sql在库里运行没问题,在Cognos报表里,经测试发现是提了一个long类型的字段引起的报错。
报错信息:UDA-SQL-0107 “prepare”操作期间发生常规异常。ORA-01445: 无法从不带保留关键字的表的联接视图中选择 ROWID 或采样 RSV-SRV-0042 回溯:RSReportService.cpp(726):……
这个错误号,我查了下没有什么解决办法,怎么办?
 
已邀请:
1

天蓝佯伶 - Cognos技术人员 2015-10-29 回答

问题已解决。有关long的用法:http://blog.itpub.net/64429/viewspace-886714/
原因不好解释,我一开始说错了,抱歉,是有两张表的关联。把关联提到from前面就行了,整体sql就像一个单表查询那样。有人问我啥叫关联前提,就是这种形式的:select a.column(long类型),(select b.column from b where b.xx=a.xx)别名 from a
 
 
补充:经群里的分析,在生成的sql里发现是因为LONG类型是限制不能用distinct的。所有把cognos默认设置的自动分组和汇总设置成否就行了,很是感谢他的分享。
0

zlqiuts - 来学习 2015-10-29 回答

会不会是SQL里面的字段有重复的 或者别名指定的不对啊。。可以把SQL也拿出来看下。
主要的错误应该是:ORA-01445: 无法从不带保留关键字的表的联接视图中选择 ROWID 或采样 这句话。。
 
帮你搜索两个这个错误的解决方案:
http://blog.csdn.net/yiruoyun/article/details/4832096
http://www.itpub.net/thread-1728637-1-1.html
 

要回复问题请先登录注册