2012-05-08 9 views
0

テキストフィールドでユーザーが入力したキーワードから、次のことを行うクエリを作成する必要があります。キーワードを使用してテーブルを検索した後、与えられたキーワード。 は、私のテーブルには、次のようになります。ユーザーは「古い」、「フォード」と「安い」を検索した場合、それはすべてのキーワードが含まれているためMysql - 同じIDを持つフィールドを探す

field_id | car_id | keyword | 
---------------------------- 
1  | 5  | 1989 | 
----------------------------- 
2  | 8  | old | 
----------------------------- 
3  | 8  | ford | 
----------------------------- 
4  | 2  | audi | 
----------------------------- 
5  | 5  | red | 
----------------------------- 
6  | 8  | cheap | 
----------------------------- 

セイ、car_id 8が返されます。どのようにこれを取り除きますか?

+0

car_id 8を返すとはありませんか? –

+0

あなたは8番車ではないのですか? – MichaelS

+0

ああええ....それについて申し訳ありません – user1382785

答えて

1

入力されたキーワードの数がわかっていて、それらすべてに一致するものとします。 さらに、キーワードcar_idは一意であるとみなされます。 (car_Id 8は2回安くすることはできません)

Select car_ID from myTable 
Where keyword in ('old','ford','cheap') 
group by car_ID 
having count(*) = 3 
+0

それは動作します!おかげで多くのバディ! – user1382785

関連する問題