设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2548|回复: 4
打印 上一主题 下一主题

关于查询某个产品最近几月份进库或者入库

[复制链接]
跳转到指定楼层
1#
发表于 2011-10-29 14:34:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近帮仓库做一个数据库。他希望知道最近几月份某个产品进库或者出库多少数量。现在数据已全部导入,我做了一个查询,可以找到最近出库或入库的月份,但无法将数量连接在后面。我的SQL代码如下:
  1. SELECT yy.品名, Max(yy.月份) AS [最近 月份]
  2. FROM yy
  3. GROUP BY yy.品名;
复制代码
当然以上的代码是可行的,但如果加入了yy.[数量]字段之后,就多出了多余的数据。
比如这样
品名  最近的月份  数量
aa       6                    2
aa       4                    1
bb       5                    3
bb       7                    5
其实我只要最近的aa的6月的数量,bb的7月的数量。
当然我在前面的[yy]查询已经限定了数量>0的条件,所以出现了这样的结果。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-10-29 19:28:02 | 只看该作者
1、多做一个查询。也就是在你给出的查询中,再建立一个数据源和该查询的内联接查询。假定一个你的查询是查询1,那么建立这么一个查询即可(大体语句是这样,我不习惯写语句,所以可能有误):
select 品名,月份,数量 From yy Inner Join 查询1 on 查询1.[最近 月份]=yy.月份
2、用DMax和Dlookup来完成。
select 品名,DMax("月份","yy","品名='"&[品名]&"'") As 最近月份,Dlookup("数量","yy","品名='"&[品名]&"' and 月份="&[最近月份])  As 数量 From yy Group by 品名,DMax("月份","yy","品名='"&[品名]&"'") ,Dlookup("数量","yy","品名='"&[品名]&"' and 月份="&[最近月份])
一般建议采用第一种方法。域函数计算时可能会因数据过多而导致运行较慢。
3#
 楼主| 发表于 2011-10-30 09:06:29 | 只看该作者
谢谢版主。其实我开始也是用方法一的方法。其实思路是对的,还要加一个限定条件的。
引用你的方法其实出现了即:
  1. select 品名,月份,数量 From yy Inner Join 查询1 on 查询1.[最近 月份]=yy.月份
复制代码
后出现了这样的不完全正确结果:
品名  数量   最近月份
aa       3             4
bb       3             1
aa       1             1
我想了下,理解了其实还要对品名进行内联的。所以实际的代码应为:
  1. SELECT yyyy.品名, yyyy.数量, xxxx.[最近 月份]
  2. FROM xxxx INNER JOIN yyyy ON (xxxx.品名 = yyyy.品名) AND (xxxx.[最近 月份] = yyyy.月份);
复制代码
PS.为了方便我把最近月份的查询改为了xxxx,经过限定的原始查询命名为yyyy
4#
发表于 2011-10-30 10:30:43 | 只看该作者
第一个查询(即SELECT yy.品名, Max(yy.月份) AS [最近 月份] FROM yy GROUP BY yy.品名)的月份应该是唯一值的噢,如果yy里的月份也是唯一值的话,我写的查询是OK的。不过,如果不是的话,则需要内联接两个字段。
5#
 楼主| 发表于 2011-10-30 22:38:08 | 只看该作者
是的。你说的不错。问题是出在经过限定的原始查询,因为他不是唯一值。所以我又经过了一次品种的内联,终于达到了我要的效果。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-1 20:35 , Processed in 0.096846 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表