MySQL的:5.5.15-55的Percona服務器(GPL),通過比較其他三個值21.0版MySQL的條件查詢+控制流程函數
我想抓住從表中的值(以)。如果value ='value1'停止,並使用該值,則不將其與「value2」進行比較,依此類推。
僞查詢:
SELECT value FROM tbl_variable
IF (WHERE object = 'value1')
ELSE IF (WHERE object = 'value2')
ELSE (WHERE object = 'default');
我想我需要使用Control Flow Function,但我有問題的理解語法(也許案例?)。
編輯
表結構
| Field | Type | Null | Key | Default | Extra |
+-------------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| var_name | varchar(50) | NO | | | |
| object | varchar(102) | YES | MUL | NULL | |
| value | text | NO | | NULL | |
最終查詢基於綠色惡魔的答案。
SELECT (CASE
WHEN object = 'value1' THEN value
WHEN object = 'value2' THEN value
WHEN object = 'default' THEN value
END)
AS value
FROM tbl_variables
WHERE value IS NOT NULL
AND var_name = 'NAME'
LIMIT 1;
不知道我明白了......你只是想'從tbl_variable WHERE對象IN('value1','value2','default')''或者還有更多的東西嗎? – 2013-03-13 13:48:47
@SteveChambers不,我需要得到第一場比賽。如果value1匹配,我不想再比較。 – 2013-03-13 14:01:04
仍試圖理解 - 當找到匹配時,您想如何處理它 - 只是按原樣進行「選擇」? – 2013-03-13 14:07:41