我有一个包含记录状态的表。事情是这样的: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
我想要,我把每行的最新版本的情况下,并有在一直是我的一些点的所有P,它们应该被包装为“G”,而不是P.
,当我试图做类似
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)
我在使用套管时得到一个错误,这是不可能的。
所以我的问题是,我该怎么做呢?
想直到结束:
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