2017-03-21 61 views
0

我有兩列的表:與重複處理基於某些條件SQL蜂巢

Key Date 
1  a 
1  a 
1  NULL 
2  NULL 
2  NULL 
3  b 
3  NULL 
4  c 
4  c 

我需要這樣的最終輸出:

Key  Date 
1  a 
2  NULL 
3  b 
4  c 

換句話說,一鍵可以有多個相等的日期,多個相等的日期和一個空值,所有的空值或一個空值。 我需要從我的表中刪除重複項,但無法創建這些規則。任何幫助將不勝感激!

回答

0

嘗試SQL查詢:

select Distinct a.[Key],b.[Date] from TEST a left join TEST b on a.[Key] = b.[Key] and b.[Date] is not null 

enter image description here

+0

對我來說,關鍵2有兩個日期爲空。我仍然需要這個鍵來顯示一個空值。這個查詢是否照顧到了這一點? – Aman

+0

你運行了查詢嗎? –

+0

我做到了,它工作。非常感謝 – Aman

0

這將給期望的結果

select distinct key, date from Table_Name , 
(select key as x ,size(collect_list(date)) as a from Table_Name group by key) 
temp 
where (Table_Name.key = temp.x and a=0) OR date is not null;