2011-07-14 60 views
1
一個新的參數

我的MySQL表中包含2場,我想創建一個基於邏輯在MySQL應用ORDER BY 'new parameter'功能的「新參數」。創建基於邏輯在MySQL

我的邏輯來創建「新參數」:

 
+------------+------------+ 
| field1  | field2 | 
+------------+------------+ 
| 100  |   | 
| 101  |   | 
| 103  | 101  | 
| 105  |   | 
| 110  | 100  | 
| 115  | 110  | 
| 116  | 100  | 
+------------+------------+ 

邏輯:

 
If 'field2' is NULL then take 'field1' value 
Else take 'field2' value 

應用此邏輯之後的「新參數」將包含在表的每一行這些值:

 
100 
101 
101 
105 
100 
110 
100 

如何在MySQL/PHP中執行此操作。謝謝。直到它找到一個非的DBNull值

回答

2
SELECT * FROM TABLE WHERE COALESCE(Field2, Field1) = 'Blah Blah' 

COALESCE功能將通過其字段/值的列表中移動。 COALESCE也可用於聲明的返回部分。

SELECT COALESCE(Field2, Field1) as NewParam FROM TABLE