| 发表于:2007-01-22 10:24:07 楼主 |
字段:id\部门\车站\设备名称\设备型号\设备编号\检查人\检查日期 id为自动编号关键字,部门\设备编号\检查日期可以确定唯一的记录(也就是说同一个部门,同一个设备编号在某一个检查日期只会存在一条记录). 比如现在我想找出该设备编号在最大的检查日期的数据,怎样写sql语句会方便些. equipinfo表如下: id\部门\车站\设备名称\设备型号\设备编号\检查人\检查日期 1\第一车间\上海站\变压器\byq-1\012\张山\2001-1-1 2\第二车间\上海站\变压器\byq-3\011\里四\2002-3-4 3\第二车间\北京站\电阻\dz-13\146\里四\2006-1-4 4\第二车间\湖动站\变压器\byq-3\011\小王\2004-6-4 5\第一车间\上海站\变压器\byq-1\012\万二\2003-10-2 6\第一车间\杭州站\电源组\dy-3\123\刘校庆\2003-9-12 7\第一车间\南昌站\电源组\dy-3\123\万发\2005-11-2 需要得到的结果是: 3\第二车间\北京站\电阻\dz-13\146\里四\2006-1-4 4\第二车间\湖动站\变压器\byq-3\011\小王\2004-6-4 5\第一车间\上海站\变压器\byq-1\012\万二\2003-10-2 7\第一车间\南昌站\电源组\dy-3\123\万发\2005-11-2 我分成了两步骤解决,先生成临时表temp select 设备编号, max(检查日期) as 最近检查日期 into temp from status group by 部门, 器材编号 第二 select equipinfo.* from equipinfo, temp where equipinfo.部门=temp.部门 and equipinfo.设备编号=temp.设备编号 and equipinfo.检查日期=temp.最近检查日期 能否一步搞定???如何解决 |
|
|
|
|