-1

次の mysql クエリを使用する場合:

select * from gc_product_attribute where (attribute_id = 30 AND text like '62') and (attribute_id = 35 AND text like '71')


値はテーブルに存在しますが、何も返されません

attribute_id | text
 30          |  62
 35          |  71
4

3 に答える 3

0

(attribute_id = 30 AND '62' のようなテキスト)を持つアイテムと (attribute_id = 35 AND '71' のようなテキスト) を持つアイテムを返したいとします。

これは、(attribute_id = 30 AND '62' のようなテキスト)および(attribute_id = 35 AND '71' のようなテキスト) を持つアイテムを取得することとは異なります。

次の 2 つの方法で表現できます。

  • X を満たす項目と Y を満たす項目を取得する: UNION

    select * from gc_product_attribute where (attribute_id = 30 AND text like '62') UNION select * from gc_product_attribute where (attribute_id = 35 AND text like '71')

  • X または Y のいずれかを満たすアイテムを取得する: OR

    select * from gc_product_attribute where (attribute_id = 30 AND text like '62') OR (attribute_id = 35 AND text like '71')

于 2015-09-09T13:32:08.990 に答える
0

してみてください:

select * 
from gc_product_attribute 
where attribute_id=30 
AND text like '%62%' 
OR (attribute_id = 35 AND text like '%71%') 
于 2015-09-09T13:24:56.607 に答える