2017-08-09 117 views
-3

我們有如下所示的要求。用數值替換NULL

有6個item_class - A,B,C,D,A1A,A1B這應該出現所有記錄。

實錄:

Item_class Rev_id 
A   1 
B   1 
C   2 
D   1 
Null   1 
Null   2 

我們需要下表給出顯示記錄,

item_class  Rev_id 
A    1 
B    1 
C    2 
D    1 
A1A    1 
A1B    2 

因此,所有的item_class(A,B,C,d,A1A,A1B)應顯示當item類爲null並且它檢查item_clas A,B,C是否已經存在,那麼對於不同的rev_id它將顯示剩餘的一個(即D,A1A,A1B),但是應該覆蓋所有的item_class。

我們如何編寫查詢來獲取相似的記錄?

+2

你應該的,你已經嘗試什麼首場演出,請閱讀[如何創建一個最小的,完整的,並且可驗證的示例](https://開頭計算器.com/help/mcve) – Hatik

+5

我不遵循將'A1A'和'A1B'分配給這些'NULL'插槽的邏輯。如果所有記錄中的'Rev_id'都是相同的,我可以看到一種做法,但沒有一個共同的團體,恐怕你的問題對我沒有多大意義。 –

+0

我們試過使用case語句,但沒有工作,選擇案件時,item_class不爲空,rev_id不爲空,然後item_class當item_class爲空,rev_id不爲空然後呢?結束item_class,來自test_class的rev_id,其中rev_id = 1;需要檢查item_class A是否已經可用於rev_id 1,然後顯示item_class B,如果item_class B可用於rev_id 1,則顯示item_class C用於rev_id等。我們希望以這種方式查詢 –

回答

-1

該問題通過使用外連接得到解決。請在下面找到,

select b.item_class, 
     a.rev_id 
from cct_test a 
     right outer join cct_item_details b 
     on a.item_class = b.item_class and a.rev_id = 1; 

輸出:

item_class | rev_id 
A   | 1 
C   | 1 
A1B  | null 
A1A  | null 
D   | null  
B   | null