SQL ステートメントには、
との間に 2 つの関数があります。
図に示すように、2 つの属性による検索:
データベースの設計は図に示すとおりです。デザインは決定されており、変更できません。)
これは category_value テーブルです
これは buy_6 テーブルです
私が書いた SQL ステートメント:
select b.* from category_value as v、buy_6 as b ここで、status=3 および v.itemid = b.itemid および v.moduleid=6 および v.value 2 と 7 および v.oid=6 および v.value 1 と 10 および v.oid =4
1 つのデータで検索するだけなら問題ないが、2 つの属性でデータを検索できない場合
SQL の v.oid=4 は 4 の color 属性 ID を参照し、v.oid=6 6
の高さ属性 ID を参照します------解決策のアイデア----------------------
これは間の問題ではありません!
SQL で
select b.* from category_value as v, buy_6 as b where status=3 and v.itemid = b.itemid and v.moduleid=6 and v.value BETWEEN 2 and 7 and v.oid=6 および v.value BETWEEN 1 と 10 および v.oid=4
v.oid を同時に 6 と 4 に等しくすることはできないため
そうすれば当然結果は出ません
-----解決策のアイデア----------------------
を押してください意味は次のようです:
(v.value BETWEEN 2 and 7 and v.oid=6) or (v.value BETWEEN 1 and 10 and v.oid=4)
したがって、SQL ステートメントは次のようになります。 :
select b.* from category_value as v, buy_6 as b where status=3 and v.itemid = b.itemid and v.moduleid=6 and ((v.value BETWEEN 2 and 7 and v.oid=6) ) または (v.value BETWEEN 1 と 10 および v.oid=4))