日期:2014-05-18  浏览次数:20632 次

在线等待:求助SQL记录集获取怎么写
Table1结构及参考数据如下
-------------------------
ID1             ID2       PrjName     CorpName     TableDate
129258022             321       工程1       单位1       2007-9-01
10949498386         123       工程2       单位1       2007-9-02
0709109494983     213       工程1       单位1       2007-9-02
321546646             432       工程3       单位2       2007-9-08
467894664697       324       工程2       单位1       2007-9-08
3231454             532       工程1       单位1       2007-9-10
--------------------------
注:ID1、ID2为不规则生成的不重复字符串。

得出结果要求:同一工程(PrjName)中日期最新(TableDate)的一条记录的记录集,记录列表必须包括(ID1、ID2、PrjName、TableDate)字段。

想要的得出结果:
---------------------------------------------------
ID1           ID2 PrjName CorpName TableDate
3231454           532 工程1 单位1 2007-9-10
467894664697     324 工程2 单位1 2007-9-08
321546646           432 工程3 单位2 2007-9-08
---------------------------------------------------
请各位大侠指教,谢谢!

------解决方案--------------------
select *
from 表名 as t
where TableDate = (select max(TableDate) from 表名 where PrjName=t.PrjName)

------解决方案--------------------
select t.* from Table1 t where not exists(select 1 from Table1 where PrjName=t.PrjName and TableDate> t.TableDate)