取结束时间为null或有具体时间的语句(疑问)
表内容如下
ID groupid start end dept
1 222 2001-1-1 2002-3-4 海云天有限公司
2 222 2002-4-5 null 碧海青天软件公司
3 5566 2004-5-6 2006-4-4 XX某公司
4 5566 2006-4-5 2009-4-4 xxxx工厂
以groupid为唯一记录,求出end字段最大的时间,如果有null就是最大,如果没有则以时间为准.
正常应反回
2 222 null 碧海青天软件公司
4 5566 2009-4-4 xxxx工厂
昨晚经高手指点正确如下
SELECT * FROM tablename a
WHERE NOT EXISTS
(
SELECT * FROM tablename
WHERE groupid=a.groupid
AND isnull(enddate,'9999-12-31')> a.enddate
)