暂无图片
比较长的sql,格式如: select distinct * from (select 1000+个字段的子查询),该sql在一个服务器上运行正常,在另外一个服务器运行时报:too many columns,如果去掉distinct又可以正常运行。
我来答
分享
暂无图片 匿名用户
比较长的sql,格式如: select distinct * from (select 1000+个字段的子查询),该sql在一个服务器上运行正常,在另外一个服务器运行时报:too many columns,如果去掉distinct又可以正常运行。

但是因为业务需要,必须使用distinct。这个怎么解决?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
DarkAthena

这种问题很奇怪,我猜测是驱动版本不一致。

  1. 可以在整个sql外再包一层select * from 试试。
  2. 另外一种方案,不使用distinct 也可以达到去重效果,就是使用union,至于下面这段sql写什么,匹配好字段个数和类型,加个where 1=2避免输出额外的数据就行了
暂无图片 评论
暂无图片 有用 0
刘晓华

很大可能性是你oracle数据库的版本不同

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏