0

イベントを発生させる必要があるかどうかを判断するために、レポートの一部としてクエリを実行しようとしています。後続のイベントは最初と 2 番目のイベントの観測結果に依存するため、多くの組み合わせがあり、これらの組み合わせは魚のサイズによって異なり、種によってグループ化されます。うまくいけば、それはいくつかのコンテキストを提供します。ここで質問を精査しましたが、これに対する正確な解決策は見つかりませんでした。コードのスニペットを次に示します。コードは約 160 行ほどで、そのほとんどが Switch 関数内に含まれています。ご意見ありがとうございます。

SELECT headerid, species, ageclass, P1, P2, P3, P4, P5,
switch(ageclass in ('Subyearling', 'Yearling') and P3 is null and P1<4 and P2<1,    
'SHOCK',
ageclass in ('Subyearling', 'Yearling') and P3 is null and P1 between 4 and 5 and 
P2<2, 'SHOCK',
ageclass in ('Subyearling', 'Yearling') and P3 is null and P1 between 6 and 7 and   
P2<3, 'SHOCK',
ageclass in ('Subyearling', 'Yearling') and P3 is null and P1 between 8 and 9 and 
P2<4, 'SHOCK',

   ageclass like 'Subadult' and P3 is null and P1<5 and P2<1, 'SHOCK',
   ageclass like 'Subadult' and P3 is null and P1 between 5 and 8 and P2<2, 'SHOCK',
   ageclass like 'Subadult' and P3 is null and P1 between 9 and 11 and P2<3, 'SHOCK',
   ageclass like 'Subadult' and P3 is null and P1 between 12 and 13 and P2<4, 'SHOCK',
   ageclass like 'Subadult' and P3 is null and P1 between 14 and 16 and P2<5, 'SHOCK'

   as Event from data;
4

1 に答える 1

0

「and」については、これらのクエリを段階的に実行できます。最初のプロパティでフィルター処理し、2 番目のプロパティで結果をフィルター処理します。

「または」の場合、これらのクエリを個別に実行して、結果を結合できます。

プログラミングロジックは、問題をより小さな問題に分解する技術です。そのため、クエリを小さなステップに分割し、順番に適用する必要があります。非常に複雑である可能性が高く、これらのようなクエリは前の情報に応じて異なる方法で分岐し、select ステートメントではなく、アルゴリズム ロジックで分岐する必要があります。

于 2013-03-12T21:49:15.187 に答える