レコードのステータスを含むテーブルがあります。このような何か:レコードの以前のステータスに応じてSQLのケース
ID STATUS TIMESTAMP
1 I 01-01-2016
1 A 01-03-2016
1 P 01-04-2016
2 I 01-01-2016
2 P 01-02-2016
3 P 01-01-2016
私は、各行の最新バージョンを取り、Iとなっていくつかの点であり、すべてのPのために、彼らは代わりに「G」と同棲しなければならないケースを作りたいです私は
Select case when ID in (select ID from TABLE where ID = 'I') else ID END as status)
From TABLE
where ID in (select max(ID) from TABLE)
ような何かをしようとするとP.
の私は、これはケーシング時点の使用は不可能であるというエラーが発生します。
私の質問は、どうすればいいのですか?
はで終わるしたい:
ID STATUS TIMESTAMP
1 G 01-04-2016
2 G 01-02-2016
3 P 01-01-2016
DBMS IBM DB2
私たちは、IBMのDB2のSQLを使用しています、それがDBMSならば? – user2656595
正確なDBMSを指定していません – Viki888
各行に対して?あなたは各IDを意味しますか?ネクタイの場合に期待される結果は何ですか? – jarlh