回 帖 发 新 帖 刷新版面

主题:显示表中指定字段各值的前n个记录

请教高手,谁能将附件中的文件表中,如何用SQL语句显示"销售员"字段中每个销售员的前5个销售记录并放至新表中,输出结果大致如下:

用户编号    地点    销售员    购买商品
656671    601    6011590    冰箱
910922    601    6011590    空调
911461    601    6011590    消毒柜
916234    601    6011590    办公桌
917220    601    6011590    壁挂式空调
579498    601    6011656    壁挂式空调
900645    601    6011656    立式空调
902824    601    6011656    冰箱
904746    601    6011656    消毒柜
906660    601    6011656    冰箱
904885    601    6012201    空调
906446    601    6012201    办公桌
908053    601    6012201    空调
910020    601    6012201    壁挂式空调
912130    601    6012201    冰箱

用TOP语句不会用,所以结果不尽人意,请高手指点一下,万分谢谢~~~

回复列表 (共3个回复)

沙发

*只用SQL命令没办法,只能用循环了,注意我下载的表位置是F:\Downloads\1000 
*经测试能通过
clea all

SELECT * INTO tabl CURS_B  FROM F:\Downloads\1000 WHERE 销售员 IN(;
select 销售员 from F:\Downloads\1000 ;
group by 销售员 HAVING COUNT(*)<=5)

select  销售员 INTO CURS CURS_A from F:\Downloads\1000  group by 销售员 HAVING COUNT(*)>5
SELECT CURS_A
DO WHILE NOT EOF()
  INSERT INTO curs_b select TOP 5 * from F:\Downloads\1000 WHERE 销售员=CURS_A.销售员 ORDER BY 销售员
  SELECT CURS_A
  SKIP
ENDDO
*用SQL语句显示"销售员"字段中每个销售员的前5个销售记录并放至新表中,输出结果大致如下:

select curs_b 
brow last

retu

板凳

不好意思,恕我愚笨,我将agt澳给的语句复制到1000文件中的命令窗口后,将语句中的文件路径修改为我文件的路径,怎么VFP系统会提示"在交互方式下不能使用此语句",这是怎么回事呀?

3 楼

[size=4]
你建立程序PROG1
MODI COMM PROG1
将上面的命令全部拷贝,[size=5][b]修改表的确切位置[/b][/size]我的是F:\Downloads\1000后,保存
执行 程序PROG1
DO PROG1

注意(DO WHILE NOT EOF().....ENDDO)是在程序中用的,[/size]

我来回复

您尚未登录,请登录后再回复。点此登录或注册