Office中国论坛/Access中国论坛

标题: SQL语句问题,在线求助 [打印本页]

作者: zyz218    时间: 2007-1-6 19:19
标题: SQL语句问题,在线求助
[attach]22475[/attach]
<IMG>

SELECT *
FROM [IQC_Year Supplier1] AS a
WHERE FailQty In (select top 10 FailQty from [IQC_Year Supplier1] where Nian=a.Nian ORDER BY FailQty DESC);
以上语句执行的结果应是取每年的前十大不良的供应商,但结果为空,不知为什么?语句好像没错,所以求助。
作者: 一点通    时间: 2007-1-6 19:36
在查询属性中直接设定上限值行吗?

[attach]22478[/attach]

作者: zyz218    时间: 2007-1-6 19:43
大师好像弄错我的意思了,我要注结果为:2006前十大不良供应商,2007前十大不良供应商。。。。,随着记录增加,此查询每个年份都有前十大。
作者: wuaza    时间: 2007-1-6 22:55
先用group by分组 ,再top取前n位。
作者: zyz218    时间: 2007-1-14 00:09
以下是引用wuaza在2007-1-6 14:55:00的发言:
先用group by分组 ,再top取前n位。

已分组,就是分组后取每组(每个年份)的前十,取不了!!

  



[attach]22621[/attach]
<IMG>

[此贴子已经被作者于2007-1-13 16:14:09编辑过]


作者: zyz218    时间: 2007-1-14 01:08
SQL语句没问题,是其它原因,打扰各位了!
作者: wuaza    时间: 2007-1-14 02:11
你的SQL语句确实看不出有什么问题。试试这样行否?

SELECT *
FROM [IQC_Year Supplier1] AS a
WHERE 10>(select count(*) from [IQC_Year Supplier1] where Nian=a.Nian and FailQty>a.FailQty)

还是不行的话把附件发上来看看。
作者: andymark    时间: 2007-1-14 04:57
SQL语句没问题




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