请教关于创建视图的问题

baobao28 2012-11-15 08:57:53
有这么一个查询语句如下,我想把这个查询做成一个视图在程序中调用,但是where那部分是我想要传递的查询条件,如果我把这个查询语句做成视图以后,怎么能把查询条件传递进去

with aa as
(select t.code, t.code_name from code t where t.code_type_id = 12),
bb as
(select t2.apply_type, t2.hospital_id, sum(cf.fee_amount) fee
from consult_fee cf
left join consult_booking t2
on cf.booking_id = t2.id
group by t2.apply_type, t2.hospital_id)
select t4.hospital_name, aa.code_name, t.counts, bb.fee, t4.balance
from (select t2.apply_type, t2.hospital_id, count(t1.id) counts
from consult_report t1
left join consult_booking t2
on t1.consult_booking_id = t2.id
left join consult_fee t3
on t2.id = t3.booking_id
left join doctor_info t4
on t1.expert_id = t4.id
where t1.consultation_status in (6, 7)
and t4.at_hospital_id = 100
and t2.hospital_id = 1
and t1.CONSULTATION_TIME between
to_date('2012-01-01', 'yyyy-mm-dd') and sysdate
group by t2.apply_type, t2.hospital_id) t
left join aa
on t.apply_type = aa.code
left join bb
on t.apply_type = bb.apply_type
left join hospital_info t4
on t.hospital_id = t4.id;
...全文
163 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
baobao28 2012-11-15
  • 打赏
  • 举报
回复
测试了一下可以通过这种方式实现,但是又遇到一个问题,通过EXECUTE IMMEDIATE 执行动态生成的sql语句的效率太低了
quanhj 2012-11-15
  • 打赏
  • 举报
回复
引用 6 楼 baobao28 的回复:
有一个大胆的想法,能不能视图接收查询条件,然后把这个查询封装在函数里,在视图传递查询条件到函数,然后函数返回查询结果给视图,视图再返回给调用的程序呢
这样能传多个条件么?
baobao28 2012-11-15
  • 打赏
  • 举报
回复
有一个大胆的想法,能不能视图接收查询条件,然后把这个查询封装在函数里,在视图传递查询条件到函数,然后函数返回查询结果给视图,视图再返回给调用的程序呢
fw0124 2012-11-15
  • 打赏
  • 举报
回复
如果一定要带上条件输入,那就没法做成视图了。
baobao28 2012-11-15
  • 打赏
  • 举报
回复
拜托大家仔细帮忙看一下,and t2.hospital_id = 1这个可以拿出来放到上面那个select里面,但是剩下这2个查询条件就拿不出来了啊,因为用到了最内层的主表作为关联的 and t4.at_hospital_id = 100 and t1.CONSULTATION_TIME between to_date('2012-01-01', 'yyyy-mm-dd') and sysdate
english325 2012-11-15
  • 打赏
  • 举报
回复
你创建的视图里增加带where的字段,然后创建视图,再select * from 视图 where 条件。
baobao28 2012-11-15
  • 打赏
  • 举报
回复
这样不行啊,因为这个查询里面那层是进行数据统计计算的,如果不把条件在里面加上的话,在外面加就没有意义了啊
人生无悔 2012-11-15
  • 打赏
  • 举报
回复
視圖本身不需查詢倏件限制,只需關聯倏件就好了,創建完視圖後,根據你的查詢倏件,直接從視圖中加where取出即可

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧