表一: 订单表 (主键:订单NO 外键:顾客NO 担保人NO)
订单NO 顾客NO 担保人NO 金额
01 1001 A1 100
02 1002 A2 200
03 1003 A3 300 表二: 顾客表(主键:顾客NO)
顾客NO 顾客名 所在地
1001 null null
1002
1003 李四 大连表三: 担保人表(主键: 担保人NO)
担保人NO 担保人姓名 所在地
A1 张三 天津
A2 王五 青岛
A3 趙六 广西
我想取得
订单表.订单NO
订单表. 金额
顾客表.顾客名 (当顾客表.顾客名为 null 或顾客表.顾客名为空时,取担保人表.担保人姓名)
顾客表. 所在地(当顾客表.顾客名为 null 或顾客表.顾客名为空时,取担保人表. 所在地)请高手赐招指点.谢谢
订单NO 顾客NO 担保人NO 金额
01 1001 A1 100
02 1002 A2 200
03 1003 A3 300 表二: 顾客表(主键:顾客NO)
顾客NO 顾客名 所在地
1001 null null
1002
1003 李四 大连表三: 担保人表(主键: 担保人NO)
担保人NO 担保人姓名 所在地
A1 张三 天津
A2 王五 青岛
A3 趙六 广西
我想取得
订单表.订单NO
订单表. 金额
顾客表.顾客名 (当顾客表.顾客名为 null 或顾客表.顾客名为空时,取担保人表.担保人姓名)
顾客表. 所在地(当顾客表.顾客名为 null 或顾客表.顾客名为空时,取担保人表. 所在地)请高手赐招指点.谢谢
decode(B.所在地,null,C.所在地,B.所在地) 所在地
from A,B,C
where A.顾客NO=B.顾客NO and A.担保人NO=C.担保人NO
SELECT DDB.DDNO,DDB.JE,DECODE(GKB.GKM,NULL,DBRB.DBRXM,GKB.GKM),DECODE(GKB.SZD,NULL,DBRB.SZD,GKB.SZD) FROM DDB,GKB,DBRB
WHERE DDB.GKNO=GKB.GKNO AND DDB.DBRNO=DBRB.DBRNO--结果
01 100 张三 天津
02 200 王五 青岛
03 300 李四 大连
decode(t_b.顾客NO,null,t_c.担保人姓名,t_b.顾客名),
decode(t_b.顾客NO,null,t_c.所在地,t_b.所在地),
from t_a,t_b,t_c
where t_a.顾客NO=t_b.顾客NO(+)
and t_a.担保人NO=t_c.担保人NO(+)