1
私は、ユーザー検索の状態を格納するテーブルを持っています。それは次のようになります。条件がテーブルに格納されているmysqlの行を選択する方法は?
id | user_id | option | condition | value
------------------------------------------
4 | 2 | price | >= | 300000
5 | 2 | price | <= | 900000
6 | 4 | status | = | 1
7 | 4 | type | = | 1
8 | 5 | price | >= | 100000
9 | 5 | price | <= | 125000
10 | 5 | status | = | 2
11 | 5 | type | >= | 2
13 | 6 | price | >= | 200000
14 | 7 | price | >= | 500000
18 | 8 | price | <= | 600000
------------------------------------------
は今、私はすべての400000
のprice
値は(ユーザーあたり)いずれかの条件範囲に合うuser_id
、OR status
試合1
を取得する必要があります。
したがって、このクエリでは、結果は2,4,6,8
である必要があります。
ご提案は大歓迎です!
UPD:http://sqlfiddle.com/#!9/ea73a4/1
あなたは 'price_min、price_max'のような列を持つようにテーブルスキーマを変更することもできます。片面範囲の場合、非常に大きな正と負の境界を設定できます。 – Thilo
ありがとうございます。はい、それはうまくいくかもしれませんが、私は大量のオプションが心配です。現在約20のオプションが保存されています。そして彼らはさらに成長するかもしれません。 – WarGasm
sqlfiddleを投稿する – Strawberry