视图创建问题

yym1202000 2008-07-25 02:34:19
我有一张表如A表字段有 id num name ,B表有字段id ,iaid,c1,c2
B表的iaid是外键对应A表id并且非空.A表的num没有任何记录.
也就是说只有A表有记录,B表才能根据A表的记录才能录入.

现在我想创建一个view,就是能不能统计B表iaid=A表id的行数并放到视图的num字段里面?
类似象下面不正确的sql
create or replace test as select id,name,num=
(select count(b.iaid) from a,b where b.iaid=a.id)
from a;
...全文
102 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yym1202000 2008-07-25
  • 打赏
  • 举报
回复
谢谢各位大哥给我的提示我是这样做的

CREATE OR REPLACE view test as
SELECT id, NAME, COUNT(b.iaid) as num
FROM a, b
WHERE a.id = b.iaid
GROUP BY a.id, a.NAME

应该是正确的.这样我可以在程序里面当这个做表用了.
yym1202000 2008-07-25
  • 打赏
  • 举报
回复
其实我就是想让A表的num字段表示B表里面有多少行(主外键对应),用表的话要在代码里面处理,不想这样,所以想用视图代替这么一个简单的统计功能,也就是说想用视图先统计好.
阿三 2008-07-25
  • 打赏
  • 举报
回复
同意楼上
chenqingyu 2008-07-25
  • 打赏
  • 举报
回复
估计LZ是要这个

CREATE OR REPLACE view A_id_num as
SELECT id, NAME, COUNT(1) num
FROM a, b
WHERE a.id = b.iaid
GROUP BY a.id, a.NAME
hebo2005 2008-07-25
  • 打赏
  • 举报
回复
你用分析函数不就行了

select a.id,a.name,count(*) over() num 
from a,b where b.iaid=a.id
hebo2005 2008-07-25
  • 打赏
  • 举报
回复
你这能对吗?
视图有三个字段,SELECT只出来一个字段

17,134

社区成员

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

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