t-sql присоединиться к справке - PullRequest
0 голосов
/ 23 марта 2011
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

Спасибо

1 Ответ

3 голосов
/ 23 марта 2011
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...