表A(APK1,APK2,fieldA1,fieldA2,fieldA3)
表B(BPK1,BPK2,fieldB1,fieldB2,fieldB3)检索出当A.APK1='2006'的APK2,fieldA1,fieldA2,fieldA3内容
此时如果A.fieldA1='02' 则再检索出fieldB1,fieldB2,fieldB3,条件是A.APK1=B.BPK1 AND A.APK2=B.BPK2
表B(BPK1,BPK2,fieldB1,fieldB2,fieldB3)检索出当A.APK1='2006'的APK2,fieldA1,fieldA2,fieldA3内容
此时如果A.fieldA1='02' 则再检索出fieldB1,fieldB2,fieldB3,条件是A.APK1=B.BPK1 AND A.APK2=B.BPK2
else
case when A.fieldA1='02' then fieldB1,fieldB2,fieldB3,估计是这样,语法肯定要去确认的
UNION
SELECT APK2,fieldA1,fieldA2,fieldA3,fieldB1,fieldB2,fieldB3 FROM A,B WHERE A.APK1='2006' AND NVL(A.fieldA1,'NULL')='02' AND A.APK1=B.BPK1 AND A.APK2=B.BPK2
unionselect a.APK2,a.fieldA1,a.fieldA2,a.fieldA3,b.fieldB1,b.fieldB2,b.fieldB3 from a,b where
A.APK1='2006' and A.fieldA1='02' and A.APK1=B.BPK1 AND A.APK2=B.BPK2
select tbA.*,decode(tbA.fieldA1,'02',tbB.fieldB1),
decode(tbA.fieldA1,'02',tbB.fieldB2),decode(tbA.fieldA1,'02',tbB.fieldB3)
from tbA,tbB where tbA.APK1='2006' and tbA.APK1=tbB.BPK1(+) AND tbA.APK2=tbB.BPK2(+);
最终采用了bzszp(SongZip) 的方式