0

SQL クエリの作成に関するヘルプを使用できます。これが私の状況です:

結果を 3 列で並べ替えたい。これが状況です。添付されたアイテムのリストがあり、そのリストから1つだけを選択する必要があり、どれがその「重要性」に依存します。重要度は次のルールによって決定されます。

  • いくつかのアイテムの重大度が大きい場合は、そのアイテムを取ります
  • 重大度が同じで、トップ フラグがアイテムにある場合は、そのアイテムを使用します
  • 重大度とトップが同じなら優先度の高い方を採用(同じならどちらを採用しても構わない)

問題は、一番上のパラメータには任意のテキストを含めることができるため、ルールは空 ('') の場合、null またはその中の E (E は空) フラグが設定されておらず、sev と事前のみを使用する必要があることです。他の値が top 内にある場合、そのフラグはオンであり、2 番目のルールを使用する必要があります。

私が知っている(その列)は奇妙に見えますが、実際には外部から値を取得し、それをそのまま処理するだけです。
top は DESC か ASC のどちらかが間違っているので使えORDER BY severity,top,priorityません。どうすればよいかわかりません。いくつかのセットアップ例はsqlFiddleです。何か案は?私を助けてくれてありがとう。

4

1 に答える 1

1

ステートメントに計算ìmportance列を追加します。が空、null、または 'E' の場合は 0になるように、SELECTa を使用します。それ以外の場合は 1 です。CASEtopimportanceimportance

それでORDER BY severity,ìmportance,priority

于 2013-09-27T07:03:51.957 に答える