単一の表と複数の基準によるスクリーニングの交差部分は、別のセクションで 60 点です。それを完了すると、追加のポイントが得られます
これがデータ表です
。
BuyID 属性 ID 値
1 1 1 シングルルーム賃貸
1 2 0
1 3 1
1 4 1000
2 1 1 全巻レンタル
2 2 アドレス
2 3 1
2 4 1000
3 1 1 シングルルーム賃貸
3 2 9
3 3 10
3 4 1500
条件 1: `AttributeID`=1 AND `Value`='シングルルームレンタル'
条件 2: `AttributeID`=4 AND `Value`>=1000 AND `Value`
条件 1 と条件 2 の交差部分を検索するにはどうすればよいですか?
つまり、検索結果は `BuyID`=1
の 1 つだけです。
1 つ試してください: SELECT * FROM jm_user_buy_attribute WHERE (`AttributeID`=1 AND `Value`='シングル ルーム レンタル') OR (`AttributeID`=4 AND `Value`>=1000 AND `Value`<=2000) GROUP購入ID
による
1 回目の検索で得られる結果は、1 番目または 2 番目の条件を満たす結果のみですが、交差部分を除外することはできません。
2 を試してください: SELECT * FROM jm_user_buy_attribute WHERE (`AttributeID`=1 AND `Value`='シングル ルーム レンタル') OR (`AttributeID`=4 AND `Value`>=1000 AND `Value`<=2000) GROUP購入ID
による
2 回目の検索の結果は、同じ BuyID
のみを削除しました。
3 つ試してください: SELECT * FROM jm_user_buy_attribute as b1 left join jm_user_buy_attribute as b2 on b1.BuyID=b2.BuyID where b1.AttributeID=1 AND b1.Value='single roomrental' OR b2.AttributeID=4 AND b2.Value>= 1000 AND b2.Value
2 回目の試行の結果は正しくありませんでした。
http://bbs.csdn.net/topics/390325234
これは私が MYSQL セクションに投稿したものです。
問題を解くとポイントがもらえます
-----解決策---------Separate select * from jm_user_buy_attribute where AttributeID = 1 AND Value='シングルルーム賃貸'
を獲得しました
配列
(
[0] => 配列
(
[購入ID] => 1
[AttributeId] =&gt;
[値] =>
)
[1] => 配列
(
[buyid] =&gt;
[AttributeId] =&gt;