試圖找到最好的方式來處理這個,由於某種原因,它真的讓我絆倒了。卡住這個聯盟/除了
我的數據是這樣的:
transaction_id(pk) decision_id(pk) accepted_ind
A 1 NULL
A 2 <blank>
A 4 Y
B 1 <blank>
B 2 Y
C 1 Y
D 1 N
D 2 O
D 3 Y
- 每一筆交易都保證有第1
- 可以有多個決策的可能性(假設的)類型的場景
- 接受可以有多個值或空白或NULL,但只有一個可以接受_ind = Y
我在嘗試寫一個查詢:
- 返回一行每個TRANSACTION_ID
- 返回的decision_id其中accepted_ind = Y,或者如果該事務沒有行accepted_ind = Y,然後用decision_id = 1返回行(無論的值)
我試過了: 1.使用邏輯「或」拉記錄,不斷得到重複。 2.使用聯合和除了但不能完全正確地獲得邏輯。
任何幫助表示讚賞。我不知道爲什麼這讓我非常沮喪!
亞當
子查詢不需要只是做一個而在你的JOIN例如'加入決定AcceptedDecision ON AcceptedDecision.transaction_id = Decision.transaction_id AND AcceptedDecision.accepted_ind ='Y'您也可以使用'COALESCE'而不是CASE語句 –