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 数据库本身的问题么,还是其他我不懂的原因。
如果有人知道,请底下回复,万分感谢