我有以下結構的表:有條件的情況下WHEN語句
CustID | Number 1 | Number 2 | Number 3 | Number 4
1 | 072454584 | | 017726593 |
2 | |0125456852| | 0125785448
我嘗試這樣做,選擇第一個數字,可查詢,因此,如果使用客戶ID 2只會返回2號,如果有一個只有4號的記錄,它會忽略1,2,3。我在聲明中試過做過一個案例,但我似乎無法理解邏輯。
我有以下結構的表:有條件的情況下WHEN語句
CustID | Number 1 | Number 2 | Number 3 | Number 4
1 | 072454584 | | 017726593 |
2 | |0125456852| | 0125785448
我嘗試這樣做,選擇第一個數字,可查詢,因此,如果使用客戶ID 2只會返回2號,如果有一個只有4號的記錄,它會忽略1,2,3。我在聲明中試過做過一個案例,但我似乎無法理解邏輯。
如果你有這些列中的NULL值,則使用COALESCE
:
SELECT CUSTID, COALESCE(number1, number2, number3, number4)
沒有任何空值,但易於工作。感謝你的回答。 – GPH
我認爲你應該更好地規劃你的表的結構 –
@Nadeem_MK我認爲你應該正確地閱讀這個問題。 「查詢選擇可用的第一個數字,所以如果使用客戶ID 2,它將只返回數字2,如果有一個只有數字4的記錄,它將忽略1,2,3」 – GPH
@Gavlaaa - 改變結構是應該始終在SQL問題上考慮的一件事,你應該提到你不能改變它。絕對不要濫用某人試圖幫助 - 這並不會讓別人感覺到幫助 – Mark