我有一张这样的表
ID REF状态日期
1 150 P 10/01/2010
2 150 P 11/01/2010
3 150 P 12/01/2010
4 151 P 10/01/2010
5 151c的NULL
6 152 P 11/01/2010
7 152 P 12/01/2010
8 152℃NULL
我想要的是检索状态等于 C 的所有记录和(对于那些状态为 P 的记录)根据列日期。
例如:
ID REF状态日期
3 150 P 12/01/2010
5 151c的NULL
8 152℃NULL
到目前为止,我已经尝试过subquerys,但是根据约会,我没有最后的记录。
我使用的是Sybase 8.0.2.4542。非常感谢你们!
答案 0 :(得分:1)
尝试使用解决方案:
select id, ref, status, max(date)
from table
where status = 'P'
group by id, ref, status, date
union all
select id, ref, status, date
from table
where status = 'C'
一个查询:
select *from
(select id, ref, status, max(date)
from table
where status = 'P'
group by id, ref, status, date
union all
select id, ref, status, date
from table
where status = 'C') RES