[解決済み] MAX CASE式で
2022-02-19 08:01:22
質問
以下のような表があります。
基準
IDごとに最新行のEndDateを取得 EndDateがNullの場合、Active EnddateがNULLでない場合、Closedとなる
テーブルA
StartDate EndDate ID
04/01/2017 06/30/2017 1
10/01/2017 1
11/01/2017 05/01/2017 2
期待される結果
StartDate EndDate ID CurrentStatus
04/01/2017 06/30/2017 1 Active
10/01/2017 1 Active
11/01/2017 11/02/2017 2 Closed
Sqlコード。
SELECT *
MAX(CASE WHEN CCP.ENDDATE IS NULL THEN 'Active' END)
OVER (PARTITION BY CCP.ID) AS CURRENT_STATUS
FROM TABLEA CCP
Close"Closed"の顧客に対してElse条件を追加できますか?
どのように解決するのですか?
たぶん。
SELECT *
coalesce(MAX(CASE WHEN CCP.ENDDATE IS NULL THEN 'Active' END)
OVER (PARTITION BY CCP.ID),'Closed') AS CURRENT_STATUS
FROM TABLEA CCP
あるいは、終了日が未来で、それらのレコードをアクティブにする必要がある場合...
このアプローチでは、終了日がNULLのIDはまだアクティブでなければならず、終了日が未来のIDはまだアクティブでなければならないとします。
サブクエリは、クローズしていない、または終了日が未来であることに基づいて、quot;active" であるすべてのIDを識別し、そのようなレコードがある場合は、それらのIDすべてをアクティブまたはクローズに設定するケースを使用します。
SELECT A1.StartDate
, A1.EndDate
, A1.ID
, case when A2.ID is not null then 'Active' Else 'Closed' end As currentStatus
FROM TableA A1
INNER JOIN (SELECT Distinct ID
FROM TableA
WHERE EndDate is null or EndDate>=Sysdate()) A2
on A1.ID = A2.ID
関連
-
[解決済み] ERROR: 参照されたテーブル "bar" の与えられたキーに一致するユニークな制約がありません。
-
[解決済み】ストアドプロシージャーのエラー ORA-06550
-
[解決済み】オペランド型の衝突:intはdateと互換性がない + INSERT文はFOREIGN KEY制約と衝突した
-
[解決済み】警告。Aqua Data Studioの集約や他のSET操作でNull値が排除される。
-
[解決済み] ORA-04063: ビューにエラーがあります
-
[解決済み] トリガーがコンパイルエラーで作成される
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] MYSQLでMAX(列の値)、PARTITIONで別の列で行を選択するにはどうすればよいですか?
-
[解決済み] ある列の最大値を持つ行を取得する
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】''付近の構文が正しくない
-
[解決済み】一括読み込みデータ変換エラー(指定されたコードページに対して型の不一致または無効な文字)1行目4列目(年)について)
-
[解決済み】一括読み込みデータ変換エラー(切り捨て)
-
[解決済み】ORA-01791: SELECTされた式ではない
-
[解決済み] アンピボットの主キーを含む対象コードページで、テキストが切り捨てられたか、1つ以上の文字が一致しない。
-
[解決済み] SELECT DISTINCTを指定した場合、ORDER BY項目は必ず選択リストに表示されます。
-
[解決済み] ORA-01779: キーが保存されていないテーブルにマップされる列を変更できません。
-
[解決済み] varchar 値の変換で int カラムがオーバーフローしました。
-
[解決済み] オペランド型の衝突:uniqueidentifierはintと互換性がない
-
[解決済み] SQLiteでどのようにピボットするか、つまり、長い形式で保存されたテーブルを広い形式で選択するか?