oracle之特别诡异的BUG

今天遇到一个问题,在oracle上创建视图后无法子查询和group by

一旦子查询和group by之后 查询数据为空,也没提示报错。

下列图片中选中 ,且背景色为蓝色的, 代表执行的sql语句

 

从v_gd里面查询车站编号,是可以查出数据的。

      select * from  v_chzh    where  车站编号 in (  select 车站编号 from v_gd)  

执行这个sql就没数据。

 

而单纯的查询图一中  的车站数据编号“33761” ,又有数据了

而且,格式什么的都是字符串

改成视图 中的表  就有成功了

 

 

其中 v_gd和v_chzh的视图是这样的


create or replace view v_gd as
select a."ID",
      a."车站编号"
 
       from xlsb.GD a,v_chzh c
   where  a.车站编号=c.车站编号

create or replace view v_chzh as
select a."ID",  
       a."车站名",
       a."车站编号",

  from xlsb.chzh a
  where
 a.线编号 in (  select f_xbh from v_bmgjinfo c where c.unitid='1206'
and a.中心里程 >=c.F_QDLC  and a.中心里程<= c.F_ZDLC) 

;
-----------------------------------------------------------------------------

还有一个问题是group  by 的问题

这样子查询有数据

但是加上group by之后

就没数据了

加上count(*) 就又有数据了

我不太懂为啥会出现这些问题。是oracle 数据库本身的问题么,还是其他我不懂的原因。 

如果有人知道,请底下回复,万分感谢

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值