特定の検索文字列をさまざまな列に検索できるクエリを作成しています。私は検索文字列を検索し、比較する必要が3列とmysql - 1つのセル内の値にconcatを使用する
マイデータベース:
manufacturer
model
number
私が持っている問題は、人々が(任意の順序で)この列のそれぞれを検索するために許されるべきことです。
今、私はconcat_ws('%20',manufacturer,model,number) like '%$q%'
を使用しました。それはちょっとした作品です。
のは、私は私のDBの列にこの値をしていると仮定しましょう(彼らは今あるよう、無コンマなしセパレータは - 彼らは私の読み取りDBに名称で、私は簡単にするためにここに文字として、それらを単純化):
manufacturer: A B
model: C D E
number: F G H
と私は、検索する:
A B C D F H //this doesn't work.
A C F //this does work.
私が持っている問題は、私のすべての列は、複数の、スペースで区切られ、言葉で構成することができるということです。
各単語の各単語を任意の順番で検索するにはどうすればよいですか?
この質問は十分に願っていますので、必要に応じて詳細をお気軽にお尋ねください。
おかげ
コンカットを使用する理由は何ですか? ''%string%'のようなメーカーや '%string'や '%%'のようなモデル ' –
これは可能なorfderの各列を検索できる必要があるためでした。私はちょうどあなたの提案をテストしたが、それはどちらも動作しません、私は製造元のモデル番号を含む文字列で終わるので、 '製造元のモデル番号%'のようなメーカーは製造者の列にないので空ですそのような – Nick
あなたは完全なSQLを投稿してくださいできますか? –