有两个表 a 和b,希望能够通过查询得到表c或者表d的结果
表a
NAME MARRY EDUCATION
abc 2 4
aa 2 5
bb 1 5
cc 2 5
表b
CODE_NO CODE_NAME PARENT_NO
1 小学 education
2 初中 education
3 高中 education
4 本科 education
5 硕士 education
1 未婚 marry
2 已婚 marry
3 离异 marry
表c
NAME MARRY marry1 EDUCATION education1
abc 2 已婚 4 本科
aa 2 已婚 5 硕士
bb 1 未婚 5 硕士
cc 2 已婚 5 硕士
表d
NAME marry1 education1
abc 已婚 本科
aa 已婚 硕士
bb 未婚 硕士
cc 已婚 硕士
表a
NAME MARRY EDUCATION
abc 2 4
aa 2 5
bb 1 5
cc 2 5
表b
CODE_NO CODE_NAME PARENT_NO
1 小学 education
2 初中 education
3 高中 education
4 本科 education
5 硕士 education
1 未婚 marry
2 已婚 marry
3 离异 marry
表c
NAME MARRY marry1 EDUCATION education1
abc 2 已婚 4 本科
aa 2 已婚 5 硕士
bb 1 未婚 5 硕士
cc 2 已婚 5 硕士
表d
NAME marry1 education1
abc 已婚 本科
aa 已婚 硕士
bb 未婚 硕士
cc 已婚 硕士
from a a,b b,b c
where a.MARRY=b.CODE_NO and b.PARENT_NO='marry'
and a.EDUCATION=c.CODE_NO and c.PARENT_NO='education'
SELECT A.NAME,
A.MARRY,
DECODE(B.PARENT_NO,'MARRY',B.CODE_NAME) "MARRY1",
A.EDUCATION,
DECODE(B.PARENT_NO,'EDUCATION',B.CODE_NAME) "EDUCATION1"
FROM A,
B
WHERE A.EDUCATION||'EDUCATION' = B.CODE_NO||UPPER(PARENT_NO)
OR A.MARRY||'MARRY' = B.CODE_NO||UPPER(PARENT_NO);
from a a,b b,b c
where a.MARRY=b.CODE_NO and b.PARENT_NO='marry'
and a.EDUCATION=c.CODE_NO and c.PARENT_NO='education';SELECT A.NAME,
A.MARRY,
DECODE(B.PARENT_NO,'MARRY',B.CODE_NAME) "MARRY1",
A.EDUCATION,
DECODE(B.PARENT_NO,'EDUCATION',B.CODE_NAME) "EDUCATION1"
FROM A,
B
WHERE A.EDUCATION||'EDUCATION' = B.CODE_NO||UPPER(PARENT_NO)
OR A.MARRY||'MARRY' = B.CODE_NO||UPPER(PARENT_NO);
都不能够得到结果;还是要谢谢大家!
那样建表是想少建上十个表。