質問: 修正元履歴番号) END AS ソート日付 FROM 履歴 ``` 当方PostgreSQLについて経験が浅く、皆様の知恵をお貸し頂けますと幸いです ※外部システムとの兼ね合い上テーブルの構造の変更が出来ない為、SQL文で実現できる方法がありましたらご教示頂けますと幸いです。
回答: postgres明るくないけど、「登録日 = NULL」は多分無理ゾ。 NULLはイコールで比較すると大概falseになるのでダメです。 あとselectした列はorderbyに指定できるのは覚えておいたほうがいいです。 ``` select 履歴番号, 登録日, 修正元履歴番号, CASE WHEN 登録日 IS NULL THEN (select 登録日 FROM 履歴 Where 履歴番号 = 修正元履歴番号) /*WHEN 登録日 IS NOT NULL THEN 登録日*/ ELSE 登録日 END AS ソート日付 FROM 履歴 ORDER BY ソート日付 ``` 一番ダメなのは全角スペースがあること...基本全角スペースはプログラムにおいては駆逐するべきものです。 全角スペースを表示するフォントもっと流行って。