Office中国论坛/Access中国论坛
标题:
一个比较特别的查询问题(内有示例数据库),请您指教!!
[打印本页]
作者:
youshanzx
时间:
2004-3-22 02:03
标题:
一个比较特别的查询问题(内有示例数据库),请您指教!!
现有一个产品维修数据库,希望作以下查询:
某一产品可能有多次维修(产品编号和产品是唯一对应的),希望查出所有重复维修的产品,且满足条件:1.只要每种产品最后的两次维修,2.“最后一次维修日期距上一次维修日期一年以内(365日)”。不知道如何实现,请大侠指点,非常感谢!!!!
[attach]3985[/attach]
作者:
youshanzx
时间:
2004-3-22 06:40
对不起,有一点我没有说清楚,即查询结果仍需按原表结构显示。也就是说,查询后仍需要看到原来表中各个子段的内容。
对应示例数据库,查询后结果应显示如下:
ID 产品名称 产品编号 微机 维修日期 发货单位 出厂日期
3 D16 10 无 03-3-20 电能公司
4 D16 10 无 04-1-15 电能公司
5 D16 11 无 03-6-3 电表公司
6 D16 11 无 04-3-19 电表公司
其它数据均不符合条件。
我的想法是:首先建一查询,把“产品编号”字段所有重复的记录查出(很好做到),然后按日期比较每一产品编号的最后两次记录,如日期相减在一年内(365天),则该两条记录符合条件。 但我作不成,大侠请帮忙!!!!
请指教。 盼望中~~~~~~~~
[此贴子已经被作者于2004-3-21 22:50:35编辑过]
作者:
LYP6160
时间:
2004-3-22 07:56
最后两个数据是可以实现的,但我要问的是为什么一定要查询最后两次的数据,能例出更多的数据不是更好吗,只是顺序的问题
作者:
LYP6160
时间:
2004-3-22 08:16
用VBA可以做到这个结果,但你一定会问如何做?,自己慢慢学习吧
作者:
youshanzx
时间:
2004-3-22 20:43
只要最后两次记录是因为我们每月都对重复维修情况进行统计,首先查询当月维修,然后再做上述查询,故只有最后一次是新记录,留两次记录是为了进行比较。
我的确不会做。请那为高手帮忙,非常感谢!!!!
作者:
土豆
时间:
2004-3-23 04:21
请参考相应的SQL帮助
SELECT TOP
ORDER BY DESC
HAVING
WHERE
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3