我要从A表中查出数据,但是要显示的字段是从B表中取出的……
我想根據B表中的DetailID(QID=’090001’)得到A表中(QID=’090001’)對應的總分是多少?
如B表的DetailID=1就對應了A表中Detail1_Score 5分
B表的DetailID=10就對應了A表中Detail10_Score 0分
這樣A表中QID=’090001’的總分就是5+0=5分A表相關的資料如下:
Qid, Item_Section, Item_Group, Itemid,Detail1_Name,Detail1_Score,Detail2_Name,Detail2_Score……Detail10_Name,Detail10_Score
090001 CL CL3 1 問題1 5 問題2 4 null null
090001 CL CL3 2 問題1 9 問題2 8 問題10 0B表相關的資料如下:
Qid, Item_Section, Item_Group, Itemid, DetailID
090001 CL CL3 1 1
090001 CL CL3 2 10
2,A.Detail1_Score2,
3,A.Detail1_Score3,
4,A.Detail1_Score4,
5,A.Detail1_Score5,
6,A.Detail1_Score6,
7,A.Detail1_Score7,
8,A.Detail1_Score8,
9,A.Detail1_Score9,
10,A.Detail1_Score10)) totalScore
from A,B
where A.Itemid=B.Itemid
select sum(decode(B.DetailID,1,A.Detail1_Score,
2,A.Detail1_Score2,
3,A.Detail1_Score3,
4,A.Detail1_Score4,
5,A.Detail1_Score5,
6,A.Detail1_Score6,
7,A.Detail1_Score7,
8,A.Detail1_Score8,
9,A.Detail1_Score9,
10,A.Detail1_Score10)) totalScore
from A,B
where A.Itemid=B.Itemid
amd A.Qid=B.Qid
from a,b
where a.qid=b.qid