case when文で指定した値の範囲に収まらないレコードを除外したい - SQL/MySQL
P粉428986744
P粉428986744 2023-09-11 23:15:24
0
2
501

DTBL_SCHOOL_DATES テーブルから特定の日付に季節範囲を設定しようとしています。以下は、年とその地域に基づいて特定の範囲内で季節を設定する私のロジックです。

リーリー

ただし、日付がロジックで指定された範囲内にない場合は、日付を無視したいと考えています。別名「範囲外」の値は除外する必要があります。 FTBL_TEST_SCORES.test_admin_period not null を使用しようとしましたが、データベースに null の値がないため、機能しません。

範囲内にない値は結果から除外する必要がありますが、where 句でこれを実現するにはどうすればよいですか

制限のために Alias を使用しようとしましたが、機能しません。 Case when 'a' then field ='B' end

のように、case ステートメントの特定のフィールドに値を割り当てることができるかどうかわかりません。

範囲内にない値は結果から除外する必要がありますが、where 句でこれを実現するにはどうすればよいですか

P粉428986744
P粉428986744

全員に返信 (2)
P粉083785014

完全なクエリを確認できなければ、最適なソリューションを考え出すことは不可能です。最も簡単な解決策は、条件をHAVING句として追加することです:

リーリー

日付形式について混乱しています。これが MySQL クエリであると想定されている場合は、yyyy-mm-dd 形式である必要があります。おそらく、あいまいなネイティブ日付形式をサポートする SQL Server 上でも、この形式にする必要があります。

なぜすべてRTRIMCASTなのでしょうか?データは正しい形式で保存し、入力時にサニタイズする必要があります。それが不可能な場合は、クエリごとではなく定期的にデータをサニタイズしてください。

シーズンをクエリ時に定義するのではなく、独自のテーブルに移動することが賢明です。次に、seasonsに簡単に接続します。ここではサブクエリを使用していますが、理解していただければ幸いです:リーリー

いいねを押す+0
    P粉718165540

    次のように、WHERE 句で CASE ステートメント全体を繰り返すことができます。 リーリー

    または、次のようにサブクエリ (または CTE) を使用することもできます:

    リーリー

    いいねを押す+0
      最新のダウンロード
      詳細>
      ウェブエフェクト
      公式サイト
      サイト素材
      フロントエンドテンプレート
      私たちについて 免責事項 Sitemap
      PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!