Office中国论坛/Access中国论坛

标题: 查询结果错乱 [打印本页]

作者: ferockpan    时间: 2009-2-10 20:30
标题: 查询结果错乱
收货记录.rar (7.81 KB)
下载次数: 0
2009-2-10 19:18

附件中“表一”为收货记录,我想查询最近一批货品的收货情况,但查询后发现查询内容与实际有[attach]34986[/attach]别,有错位现象。请教各位大侠。谢谢!
作者: ACMAIN_CHM    时间: 2009-2-10 20:41
select top 1 *
from 表1
order by 收货日期 desc


[attach]34987[/attach]

不推荐用 FIRST, LAST这种非标聚合函数。
[attach]34988[/attach]



******************
*  一切皆有可能  *
******************

.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/SList/Access .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
作者: ferockpan    时间: 2009-2-10 21:14
2# ACMAIN_CHM
但这好像只能查到收货日期最新的那种货品的情况,我想要所有货品最新一批的情况
作者: Henry D. Sy    时间: 2009-2-10 21:18
难道收货日期最新的不是最近的吗
作者: ACMAIN_CHM    时间: 2009-2-10 21:20
我想要所有货品最新一批的情况

建议提问的时候给出希望的结果。否则谁能出来啊。

select a.*
from 表1 a inner join (
    select 品名,max(收货日期) as mdate from 表1 group by 品名
) b on a.品名=b.品名 and a.收货日期=b.mdate

[attach]34990[/attach]


******************
*  一切皆有可能  *
******************

.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/SList/Access .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
作者: Henry D. Sy    时间: 2009-2-10 21:26
不用子查询这么费劲
SELECT Last(表1.收货日期) AS 收货日期之最后一条记录, 表1.品名, Last(表1.数量) AS 数量之最后一条记录, Last(表1.规格) AS 规格之最后一条记录
FROM 表1
GROUP BY 表1.品名;
作者: ferockpan    时间: 2009-2-10 22:15
5# ACMAIN_CHM
谢谢您的提醒.也谢谢你的帮忙.




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3