parameters
サンプルデータを含む
このテーブルがあるシナリオを考えてみましょう。
以下で説明するように、これらのデータを 3 つのカテゴリにクエリする必要があります。
query1 = 以下を持つすべてのレコードを取得:param1=param2=param3= 100%
この場合から、oupout が最初のレコードになります。このクエリでは問題ありません。
query2 = 以下を持つすべてのレコードを取得します。at least param1 < 80 OR param2 < 80 OR param3 < 80 OR all
この場合、outpout は 2 番目と 3 番目のレコードです。
query3 = 以下を持つすべてのレコードを取得します。at least param1 >= 80 OR param2 >= 80 OR param3 >= 80 BUT NOT ALL EQUAL to 100%
この場合、outpout は 4 番目と 5 番目のレコードです。
私は本当にquery2とquery3に在庫があります。以下は、laravelクエリビルダーを使用した私のクエリです。
$query = DB::table('parameters');
if ($query === 1) {
$query->where('param1', '=', 100)
->where('param2', '=', 100)
->where('param3', '=', 100);
}elseif ($query === 2) {
$query->where('param1', '<', 80)
->where('param2', '<', 80)
->where('param3', '<', 80);
}else{
$query->whereBetween('param1', [80, 100])
->whereBetween('param2', [80, 100])
->whereBetween('param3', [80, 100]);
}
$result = $query->get();
私の質問が明確であることを願っています。よろしくお願いします。