Table_A
TxID RelatedTxID
-------------------
1 NULL
2 NULL
3 1
Table_B
OrderID TxID OrderDescription
-----------------------------------
1 1 Description_1
2 2 Description_2
我想得到一个输出,它会给我交易的订单描述。但如果交易没有订单描述,我想显示它的相关交易的订单描述(相关交易将始终有订单描述)
Output
TxID RelatedTxID OrderDescription
------------------------------------
1 NULL Description_1
2 NULL Description_2
3 1 Description_1
我正在考虑下面的内容,但仍然坚持ISNULL表达式中的内容。
select
a.TxID,
a.RelatedTxID,
ISNULL(b.OrderDescription, <<get its related transaction's order description>>)
from Table_A a
left outer join Table_B b
on a.TxID = b.TxID
由于
答案 0 :(得分:3)
select
a.TxID,
a.RelatedTxID,
ISNULL(b1.OrderDescription, b2.OrderDescription)
from Table_A a
left outer join Table_B b1 on a.TxID = b1.TxID
left outer join Table_B b2 on a.RelatedTxID = b2.TxID