2013-11-01 162 views
0

假設我的數據庫是這樣的:SQL查詢合併兩個行數據

如果兩個ResultsEligibilityID爲:

MemberName MemberID ResultsEligibilityID 
Thuso   2    1 
Thuso   2    1 
Maubane  3    2 
Maubane  3    1 
CDeveloper 5    2 
CDeveloper 5    2 

現在是有可能在此基礎上編寫一個查詢,顯示(下面的輸出)單個成員爲1則Eligibile, 否則不符合條件。

輸出

MemberName MemberID ResultsEligibilityID Results 
Thuso  2    1    Eligible 
Maubane  3    2    Non-Eligible 
CDeveloper 5    2    Non-Eligible 

在此先感謝您的幫助。

+1

我會用MAX的資格和結果列CASE語句組。 'CASE MAX(EligibilityID)= 1然後'Eligible'Else'Non'End' –

回答

3

請嘗試:

select 
    MemberName, 
    MemberID, 
    MAX(ResultsEligibilityID) ResultsEligibilityID , 
    (case when sum(case when ResultsEligibilityID=1 then 1 else 0 end)= COUNT(*) 
    then 'Eligible' else 'Non-Eligible' end) Results 
From 
    YourTable 
group by MemberName,MemberID 
+0

爲什麼要花一筆錢,如果max> 1則不符合條件? –

+0

好東西:-)非常感謝Daniel和Techdo –