sql 问题
有两个表
T1表 T2表
A,主键 A,主键
B, A1,主键
C, A2,主键
D, A3,
E, B,
F C,
... D,
E,
F
...
求一个SQl, 根据 A,A1,A2 传入的变量值 在T2表中查 A3 是否为 Y,
如果为Y 查 T2表的B,C,D,E,F...
否则查 T1表的B,C,D,E,F...
------解决方案--------------------若有关联可参考
select T1.A,A1,A2,A3,
DECODE(A3,Y,T1.B,T2.B) B,
DECODE(A3,Y,T1.B,T2.B) C,
.....
from T2, T1
where T2.A =T1.A(+)
AND T2.A1='1'
AND T2.A2='2'
------解决方案--------------------引用4楼,当有所修改
SELECT T2.A,T2.A1,T2.A2,
DECODE(T2.A3,'Y',T2.B,T1.B) B,
DECODE(T2.A3,'Y',T2.C,T1.C) C
FROM T2,T1
WHERE T2.A = T1.A(+);