Oracle联结查询多表

ziyan688999 2010-07-07 02:21:39
【根据 问卷编号 108 查询=问卷表= 得到 模板号20 】

问卷表Total
问卷编号-----模板号-----总分
108----------20-------303

【根据 模板号20 查询=问卷模板内容表= 得到 所属信息如1 】
问卷模板内容表contentpoint
模板号-----所属大类-----所属小类-----新分
20----------X----------——A--------100
20----------X--------------B--------101
20----------Y--------------C--------102

21----------X-------------A---------- 1
21----------X--------------B----------2
21----------Y -------------C----------3

1------------------------------------------------------
问卷编号----模板号----总分----所属大类----所属小类----新分
108--------20--------303--------X--------A------------100
108--------20--------303--------X--------B------------101
108--------20--------303--------Y--------C------------102
-----------------------------------------------------

【根据 所属小类A、B、C 查询=小类表= 得到 所属信息如2 】
小类表bm_evaluationcontent
大类号----小类号----小类名称----原分
X----------A--------Aname------110
X----------B--------Bname------220
Y----------C--------Cname------330
2--------------------------------------------------------------------------
问卷编号---模板号---总分---所属大类号---所属小类号---新分---小类名称---原分
108--------20------303------X -------------A--------100--------Aname--------110
108--------20------303------X -------------B--------101--------Aname--------110
108--------20------303------Y -------------C--------102--------Aname--------110
--------------------------------------------------------------------------

【根据 所属小类A、B、C和问卷号 查询=问卷得分表= 得到 所属信息如3 】
问卷得分表situation
问卷号-----小类号----得分
108--------x--------10
108--------x--------20
108--------y--------30
123--------x--------1
123--------x--------2
123--------y--------2
3------------------------------------------------------------------------------
问卷编号 模板号 总分 所属大类号 所属小类号 新分 小类名称 原分 得分
108 20 303 X A 100 Aname 110 10
108 20 303 X B 101 Aname 110 20
108 20 303 Y C 102 Aname 110 30
------------------------------------------------------------------------------

【根据 所属大类号X、Y 查询=大类表= 得到 所属信息如4 】
大类表bm_evaluation
大类号--------大类名称
X---------------X1
Y---------------Y2
4------------------------------------------------------------------------------------------
问卷编号---模板号---总分---所属大类号---所属小类号---新分---小类名称---原分---得分---大类名称
108--------20------303------X-------------A---------100------Aname---110------10------x1
108--------20------303------X-------------B---------101------Aname---110------20------x1
108--------20------303------Y-------------C---------102------Aname---110------30------y2
-------------------------------------------------------------------------------------------
...全文
142 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ziyan688999 2010-07-08
  • 打赏
  • 举报
回复
仔细看了下,讲的还算明白,根据2楼的,修改下,
就冲这句话也该给分了。
iqlife 2010-07-07
  • 打赏
  • 举报
回复
仔细看了下,讲的还算明白,根据2楼的,修改下,
1:问卷表Total和问卷模板内容表contentpoint表间关系1:N,左关联
2:小类表bm_evaluationcontent 和问卷模板内容表contentpoint表间关系1:1,外键关系为(大类号,小类号 )
3:小类表bm_evaluationcontent和大类表bm_evaluation 得到大类名称 组成成表BM

SELECT T.問卷編號,T.模板號,T.總分,bm.大类号,bm.小类号,bm.小类名称 ,bm.原分,bm.大类名称
FROM TOTAL T,CONTENTPOINT C ,
(select a.大类号,a.小类号,a.小类名称 ,a.原分,b.大类名称
from bm_evaluationcontent a,bm_evaluation b
where a.大类号=b.大类号) bm , --3
situation st,bm_evaluation ev
WHERE t.問卷編號='108' and T.模板號=C.模板號(+) --1
and c.大类号=bm.大类号 and c.小类号=bm.小类号 --2


4:问卷得分表situation 根据上面结果,外层再去查得分即可。。。
小灰狼W 2010-07-07
  • 打赏
  • 举报
回复
我把标题改了,楼主注意下
下次再犯重罚
kyle7788 2010-07-07
  • 打赏
  • 举报
回复
关注一下
xmanliming 2010-07-07
  • 打赏
  • 举报
回复
.....
aim_less 2010-07-07
  • 打赏
  • 举报
回复
描述太精悍了.
zhangji2411 2010-07-07
  • 打赏
  • 举报
回复
你想要什么结果啊
ziyan688999 2010-07-07
  • 打赏
  • 举报
回复
【根据 问卷编号 108 查询=问卷表= 得到 模板号20 】
【根据 模板号20 查询=问卷模板内容表= 得到 所属信息如1 】这里得到小类,下面根据小类查询
【根据 所属小类A、B、C 查询=小类表= 得到 所属信息如2 】
【根据 所属小类A、B、C和问卷号 查询=问卷得分表= 得到 所属信息如3 】
【根据 所属大类号X、Y 查询=大类表= 得到 所属信息如4 】 最后根本大类查询。

ziyan688999 2010-07-07
  • 打赏
  • 举报
回复
我觉得已经描述得很清楚了。
只是大虾们嫌字多
iqlife 2010-07-07
  • 打赏
  • 举报
回复


汗....不是大家解决不了,是你表述不清....
碧水幽幽泉 2010-07-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 tianlesoftware 的回复:]
标题怪异, 等版主处理..
[/Quote]
是啊!
Dave 2010-07-07
  • 打赏
  • 举报
回复

标题怪异, 等版主处理..
kidslovely 2010-07-07
  • 打赏
  • 举报
回复

SELECT T.問卷編號,T.模板號,T.總分,C.所屬大類,C.所屬小類,C.新分,bm.小類名稱,bm.原分,st.得分,ev.大類名稱
FROM TOTAL T,CONTENTPOINT C ,bm_evaluationcontent bm ,situation st,bm_evaluation ev
WHERE T.模板號=C.模板號 and t.問卷編號='108'
and bm.小類號 in(select distinct 小類號 from bm_evaluationcontent)
and bm.大類號 = st.小類號 and c.所屬大類=ev.大類號

---結果

問卷編號 模板號 總分 所屬大類 所屬小類 新分 小類名稱 原分 得分 大類名稱
108 20 303 X A 100 Aname 110 10 X1
108 20 303 X B 101 Aname 110 10 X1
108 20 303 Y C 102 Aname 110 10 Y2
108 20 303 X A 100 Bname 220 10 X1
108 20 303 X B 101 Bname 220 10 X1
108 20 303 Y C 102 Bname 220 10 Y2
108 20 303 X A 100 Aname 110 20 X1
108 20 303 X B 101 Aname 110 20 X1
108 20 303 Y C 102 Aname 110 20 Y2
108 20 303 X A 100 Bname 220 20 X1
108 20 303 X B 101 Bname 220 20 X1
108 20 303 Y C 102 Bname 220 20 Y2
108 20 303 X A 100 Cname 330 30 X1
108 20 303 X B 101 Cname 330 30 X1
108 20 303 Y C 102 Cname 330 30 Y2
108 20 303 X A 100 Aname 110 1 X1
108 20 303 X B 101 Aname 110 1 X1
108 20 303 Y C 102 Aname 110 1 Y2
108 20 303 X A 100 Bname 220 1 X1
108 20 303 X B 101 Bname 220 1 X1
108 20 303 Y C 102 Bname 220 1 Y2
108 20 303 X A 100 Aname 110 2 X1
108 20 303 X B 101 Aname 110 2 X1
108 20 303 Y C 102 Aname 110 2 Y2
108 20 303 X A 100 Bname 220 2 X1
108 20 303 X B 101 Bname 220 2 X1
108 20 303 Y C 102 Bname 220 2 Y2
108 20 303 X A 100 Cname 330 2 X1
108 20 303 X B 101 Cname 330 2 X1
108 20 303 Y C 102 Cname 330 2 Y2
心中的彩虹 2010-07-07
  • 打赏
  • 举报
回复
楼主 你这描述的不清楚 建议去看下帖子 “提问的智慧”
mahanso 2010-07-07
  • 打赏
  • 举报
回复
迷茫中。。。

没明白什么意思呀~~
ziyan688999 2010-07-07
  • 打赏
  • 举报
回复
3------------------------------------------------------------------------------
问卷编号 模板号 总分 所属大类号 所属小类号 新分 小类名称 原分 得分
108-----20--303------X-------A------100---Aname--110--10
108-----20--303------X-------B------101---Aname--110--20
108-----20--303------Y-------C------102---Aname--110--30
------------------------------------------------------------------------------

17,086

社区成员

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

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