2014-09-04 137 views
0

你好我對sql很好,所以我需要你的幫助。在同一字段中選擇具有不同值的行

我有一個名爲屬性的表。現在我想要在同一個字段中檢索具有不同值的行。我嘗試了LIKEAND,但沒有得到任何結果。

表:

id user_id title approved 
-- ------- ----- -------- 
1  60  one  1 
2  60  one  1 
3  60  one  1 
4  60  two  1 
5  60  three 1 

SQL查詢:

SELECT * 
FROM `property` 
WHERE `user_id` =60 
AND `approved` =1 
AND `title` like '%one%' 
AND `title` like '%two%' 

我想這樣的結果:

id user_id title approved 
-- ------- ----- -------- 
1  60  one  1 
2  60  one  1 
3  60  one  1 
4  60  two  1 

任何想法?

謝謝。

+0

爲什麼你不希望第5行一個和兩個? – fthiella 2014-09-04 09:36:02

+0

@fthiella因爲我想用'one'和'two'過濾記錄。 – 2014-09-04 09:38:04

回答

2

title like '%one%' AND title like '%two%'你尋找一起有「一」和「二」的標題。你想要一些與 「一」 或 「二」

SELECT * 
FROM `property` 
WHERE `user_id` =60 
AND `approved` =1 
AND (`title` like '%one%' OR `title` like '%two%') 
+0

感謝您的支持。 – 2014-09-04 09:56:50

1

你必須使用

OR或||

條件。您正在使用LIKE條件來檢索結果。

這將檢索如果標題也有SIXTYONE。

由於SIXTYONE包含「一個」字。如果你正在尋找,請使用LIKE作爲你的帖子。否則你應該使用=(等於)來得到確切的結果。誰只有標題「一」。你可以試試嗎?

SELECT * 
FROM `property` 
WHERE `user_id` =60 
AND `approved` =1 
AND (`title`='one' || `title`='two') 
+0

這不提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言。 – Smar 2014-09-04 10:12:24

+0

@Smar你在說這是錯誤的答案? – 2014-09-04 10:15:27

+0

你應該解釋你的答案修正了什麼,而不是隻包含代碼。不鼓勵使用純代碼的答案,因爲它們不能完全幫助未來的讀者(也不是askee),並且容易被刪除。 – Smar 2014-09-04 10:16:56

0

既然你已經有了固定的標題,你的錯誤是標題不能像在同一時間:)

相關問題