字段: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.最近检查日期能否一步搞定???如何解决
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.最近检查日期能否一步搞定???如何解决
解决方案 »
- vb库存小程序,达人帮忙啊!!!!!!!!!!!!!!!!!!!!!!!谢谢
- 怎样在MSFlexGrid中用代码控制其下拉的滚动条?
- 拖动窗体会激发什么事件啊?
- 請教treeview控件的問題﹐困了我很久。。。。。
- 那个地方有spread 6.0免费下载的?
- excel2007 单元格中插入日历后保存出现“此文档中包含宏、ACTIVEX控件、XML扩展包信息或WEB组件。”提示
- SQL中 SUM inner join 的使用方法
- 国内软件程序员考试含金量如何,请指教?
- 如果实现在类里让一个public型函数返回一个type(结构)的变量
- vb连接cad为什么老是报错“ActiveX控件不能创建对象”,cad工程已经引用了啊
- VB 中發生的錯誤
- datagrid控件中怎样获取每条网格线的高度
下面的这个SQL语句针对于你当前给出的数据是准确的,不知道在其它情况下是否准确:SELECT *
FROM EquipInfo a1
WHERE (检查日期 IN
(SELECT MAX(检查日期)
FROM EquipInfo AS a2
WHERE a1.设备编号 = a2.设备编号
GROUP BY 设备编号))
from EquipInfo
where
select not exists
(select 1 from temp
where EquipInfo.部门=temp.部门 and EquipInfo.设备编号=temp.设备编号 and EquipInfo.检查日期<检查日期)
FROM EquipInfo A,
(SELECT 设备编号, max(检查日期) AS 最近检查日期
FROM status
GROUP BY 部门, 器材编号) B
WHERE A.部门=B.部门 and A.设备编号=B.设备编号 and A.检查日期=B.最近检查日期