2011-05-12 236 views
0

我在写存储过程。请让我知道是否有任何好的语法来完成这个:

我有三个表:table1,table2,table3。
我想要将table1连接到table2,但是如果table2中的主键为零,那么我想要连接table1和table3。

有没有办法在Oracle存储过程中有条件地执行此操作?
Oracle-存储过程

代码段是这样的:

选择t1.col1,t2.colABC

表1 T1,T2表2,表3 T3

t1.colYear = Var_year
AND
t2.colID =“select(if t1.colGroup!= 0,select t1.colGroup。
else t3.colGroup)

TIA
-NewBee

回答

0

创建两个查询。

只有在table2中的主键不为零的情况下,第一个查询才能连接table1和table2。

第二个查询应该只在table2中的主键为零的情况下将table1与table2和table3结合在一起。

将两个查询的结果联合在一起。