2012-04-23 27 views
0

我有一個名爲optima的表,有幾個字段,我需要做一個查詢,將返回結果field1 = a和field2 = bMySQL:如何從兩個領域進行搜索?

表例如

F1 F2 
_____ 
a z 
v a 
a b 
b a 

結果必然是:

a b 

我試圖讓查詢像

SELECT * FROM `optima` WHERE `F1` LIKE 'a' AND `F2` LIKE 'b'; 

但它返回我什麼。

+0

你真的需要學習SQL基礎知識。 – 2012-04-23 13:46:59

+0

F1和F2的列類型(和長度)是什麼? – 2012-04-23 14:01:26

+0

反引號或反引號偶爾是必要的,但你應該避免他們不在的地方。表名不需要反引號;列名可能需要反引號的唯一原因是因爲它們是大寫的,並且在創建表時被反引號括起來。 – 2012-04-23 14:02:28

回答

2

精確匹配,使用=操作,例如:

select * 
from `optima` 
where `F1` = 'a' and `F2` = 'b'; 
+0

你有背痛嗎? – Bohemian 2012-04-23 13:58:29

+0

我認爲在這種情況下'LIKE'更準確,因爲它按字符進行比較並考慮尾隨空格。雖然,'='可能會更好,因爲尾隨空格將被忽略,這可能是問題所在。 – 2012-04-23 13:59:33

+0

以及如果我需要搜索類似這樣的內容:'a,b%'與'a,bc'中的表?所以只需使用'like',而不是'='? – 2012-04-23 14:07:31