当我只想在满足特定条件的情况下加入时,如何加入多个表?
例子:
TABLE A
NUM TYPE
1 DUPLICATE
2 DUPLICATE
3 INTERACT
TABLE B
ID REF_TYPE REF_ID
1 ORDER 000001
1 SEVERE NULL
1 CATALOG 993004
2 ORDER 003320
2 CATALOG 994002
3 MILD NULL
3 INTERACTION NULL
3 CATALOG 992002
现在这就是它变得棘手的地方......
ORDER_TABLE
ID ORDER_NAME
000001 ORDER1
003320 ORDER2
CATALOG_TABLE
ID CATALOG_NAME
992002 CATALOG1
993004 CATALOG2
994002 CATALOG3
我想做的事:
JOINED TABLE
NUM TYPE ORDER_NAME CATALOG_NAME
1 DUPLICATE ORDER1 CATALOG2
2 DUPLICATE ORDER2 CATALOG3
3 INTERACT NULL CATALOG1
事实上,我需要连接的不仅仅是订单表和目录表,但这是一个示例,可让您了解如何执行连接逻辑以满足条件。
我尝试使用多个选择(table_b b、table_b b1、table_b b2 等)从外部连接表,但是,我似乎无法弄清楚是否有一种方法可以对连接进行语法处理,以便只有在 a满足条件 - 将 B1.REF_ID 加入 ORDER_TABLE.ID;但仅当 B1.REF_TYPE='ORDER' 时。
任何人都可以帮忙吗?