2012-08-10 99 views
2

如何在mysql中選擇帶有IF ELSE條件的記錄? 我在用戶表中的一些記錄(請參見下文): ,我想把YAHOO,GMAIL,HOTMAIL的所有recoredS在電子郵件字段,如果雅虎爲null,則EMAIL領域將採取的Gmail或Hotmail(我已經在圖像中提到我的預期結果)提前如何在mysql中選擇帶有IF ELSE條件的記錄?

+1

是誰的主意將它拆分到不同的列? – zerkms 2012-08-10 01:15:08

+0

我在正常化過程中聞到一個很好的鍛鍊... – RolandoMySQLDBA 2012-08-10 01:19:08

回答

4

enter image description here

感謝您想聚結功能:

select id, name, coalesce(yahoo, gmail, hotmail) as email 
from t 

COALESCE返回第一個非NULL值。

+0

你的回答比我的更簡潔。 +1 !!! – RolandoMySQLDBA 2012-08-10 20:58:37

1
SELECT id,name, 
    IFNULL(yahoo,IFNULL(gmail,hotmail)) email 
FROM UserTable; 
+0

非常感謝您的回覆。 它將兩個colomn工作的情況下, 但如果我有multiplecolomn如Gmail,Hotmail服務,MAC等呢? – vin 2012-08-10 01:48:48