0

次のクエリの作成に問題があります。MySQL では、いくつかのテーブルを結合するビューを作成しました。これにより、次の結果が得られます。

ProductBrand ProductName Color Brand-A Product-A Red Brand-A Product-B Blue Brand-B Product-C Red Brand-B Product-D Green Brand-B Product-D Brown

今は、キーワードと複数の色で検索できるようにしたいと考えています。キーワードは、ProductBrand または ProductName のいずれかにある必要があります。そのために、次の SELECT ステートメントを書きました。

SELECT FROM View_Products WHERE ProductBrand like '%$var%' or ProductName like '%$var%'

しかし、これを色で拡張する必要があります。ユーザーはフォームで複数の色を確認できます。したがって、通常は SELECT FROM View_Products WHERE Color like '$color1' または Color like '$color2' を実行します。

フォームで色が選択されている場合、それを必須にする方法でこれを接着するにはどうすればよいですか。通常の言語: ProductBrand または ProductName のいずれかが検索用語と等しく、色が color1 または color2 のいずれかであるすべてのレコードを表示します。

4

1 に答える 1

0

ProductBrand または ProductName のいずれかが検索用語と等しく、色が color1 または color2 のいずれかであるすべてのレコードを表示します。

SELECT * FROM View_Products
WHERE (Productbrand LIKE '%$var%' OR ProductName LIKE '%$var%') AND
      (color LIKE '$color1' OR color LIKE '$color2')
于 2013-07-27T23:40:33.437 に答える