テキスト フィールドを持つ MySQL テーブルがあります。フィールド名が Car だとしましょう。車のタイプはテキストです。名前、製品番号、日付、説明、住所、価格などの変数もあります。
ここで、そのテーブルから、車のフィールド値で見つかった変数を持つ行のみを選択したいと思います。
たとえば、変数に一致する行のみを検索したいのですが、車のテキストが次の場合、変数がname = Honda
, product number = 4222
, date = 20131223
, description = very cool
, .address = Street 59
price = 15000
<category>Compact car
<name>Honda XxX
<colour>Black
<productnumber>4222
<date>20131223
<code>US
<description>very cool
<address>Street 59
<price>15000
// ...
次に、MySQL クエリはこの行のみを出力します。また、2 番目のバリアントとして、一致しない変数が 1 つしかない同様の行を出力したいと思います。たとえば、価格が一致しない場合は問題ありません。
MySQL でこれを行う方法がわかりません。誰かが知っていて、助けてくれるかもしれません。
このようなものが最初のバリアントで機能すると思います。
Select * From Car Where Car LIKE "%name%" AND Car LIKE "%productnumber%" AND ....
たぶん、誰かがより良い、より速い方法を知っているでしょう。例えば以下の方が良いでしょうか?
SELECT LOCATE("name", Car) AND LOCATE("productnumber", Car)
車の列をいくつかの列に分割してはいけません。これは条件です