0

feedid とマーチャントの両方が true でなければなりません。また、商人が真である場合の結果も表示されなくなりました。

一度に2つのステートメントを何時間も試しましたが、常に間違った結果が得られます。まだマップにない結果が必要

$sql = "SELECT products.name, products.sku, products.feedid, products.brand,
    products.merchant, map.merch, map.productid 
  from products, map 
  where (products.feedid != map.productid && products.merchant != map.merch) 
    and products.name LIKE '%" . $search . "%'  
     or products.sku LIKE '%" . $search . "%' ";

ここで私がしようとしているのは、products.feedid と products.merchant の両方が一致してはならないということです。

例:

products.feedid の結果は次のとおりです (101)(102)(101)(105)

products.merchant の結果は次のとおりです (shop)(shop)(othershop)(othershop)

マップ テーブルには結果 map.productid (101) whit merch(shop) があります。

SQL クエリに (102)(shop) (101)(othershop) と (105)(othershop) を表示させたい

ではない (101)(ショップ)

現在は (105)(othershop) のみが表示されます

4

1 に答える 1

4

別の括弧のセットが必要です

$sql ="SELECT products.name, products.sku, products.feedid, products.brand, products.merchant, map.merch, map.productid 
from products, map 
where (products.feedid != map.productid && products.merchant != map.merch) and (products.name LIKE '%" . $search . "%'  or products.sku LIKE '%" . $search . "%' )";
于 2013-06-24T17:50:45.773 に答える