0

より正確な問題に編集:
テーブルがあります: id、supplierCode、propertyCode、仕様。製品で検索を行っているときに、仕様に value1 や value2 のようなテキストがある製品を取得したいので、これらの製品を取得するには、次のようなクエリを使用したいと思います:
SELECT * FROM tbl WHERE (specification LIKE '%value1%' OR specification LIKE '%value2%') AND (those 2 got rows has the same supplierCode)
または、問題の反対側から: すべての SupplierCode を取得します SupplierCodeの仕様列に LIKE '% value1 %' AND LIKE '%value2%'
が あり
ます 。14 i7-15.3"




「i7」と「15.3"」を検索すると、仕様に i7 と 15.3" が含まれているため、001234 と 003214 を取得できます。

4

5 に答える 5

1

IN 句を使用できます。間違いなくこの問題をもう少し調べてください。Web のどこかに解決策が見つかります。

    SELECT * FROM tbl 
    WHERE specification IN ('value1', 'value2')
      AND propertyCode = 'SOME_VALUE'
于 2012-08-06T22:50:30.087 に答える
0

LIKEの代わりに使用= sign

SELECT * 
FROM tbl 
WHERE (
       specification LIKE CONCAT('%', value1, '%') OR 
       specification LIKE CONCAT('%', value2, '%') 
      ) AND 
      propertyCode = valueHere

ただし、仕様値に確信がある場合は、IN代わりに使用しますOR(実際には同じです)

SELECT * 
FROM tbl 
WHERE  specification IN ('value1','value2') AND 
       propertyCode = valueHere
于 2012-08-06T22:48:46.470 に答える
0

likeキーワードを使用できます

パターンマッチング

于 2012-08-06T22:52:30.107 に答える
0
 SELECT * FROM tbl 
 WHERE (specification='%value1%' OR specification='%value2%') 
 group by propertyCode     
于 2012-08-06T22:53:00.997 に答える
0
$find = mysql_query("SELECT * FROM `tbl` WHERE (`specification` LIKE '%$value1%' OR `specification` LIKE '%$value2%') AND `propertyCode`='$propertycode'")or die(mysql_error());
$display = mysql_fetch_array($find);

上記のようなものを探していると推測しなければならないものは含まれていないため、PHP 変数を変更する必要があることに注意してください。

また、リストを作成する場合は、フェッチで while ステートメントを使用する必要があります。

于 2012-08-06T22:54:15.877 に答える