以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 排除重复值 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=44760) |
-- 作者:明丰 -- 发布时间:2014/1/8 12:51:00 -- 排除重复值 筛选“销售明细表”所有商品最近销售价,用于导出客户价格表,下面代码不能实现,请问用哪种方法效率较高?(假如有几万行)
Tables("销售明细表").Sort = "送货日期 DESC" |
-- 作者:lihe60 -- 发布时间:2014/1/8 12:55:00 -- 再谈INNER JOIN 一般用户可以忽略本节内容。 我们已经知道,通过INNER JOIN语句可以查询多个表的数据,其中的表可以是另一个Select语句,利用这个功能,可以完成很多用常规编码很难解决的问题。 你可以打开CaseStudy目录下的示例文件“统计演示.table”来测试下面的Select语句。 示例一 例如我们要查询出每个产品最近一次订购的日期、数量以及客户,可以使用下面的Select语句: Select a.产品,a.客户,a.日期,a.数量 From {订单} a INNER JOIN (Select 产品,Max(日期) As 日期 From {订单} Group By 产品) b on a.产品 = b.产品 And a.日期 = b.日期 上面的Select语句,其实有两个表,分别是a和b,a表就是订单表,红色部分的语句,给订单表指定了一个别名"a",b表就上面绿色部分的Select语句,注意这段Select语句要用括号括起来,在括号之后指定别名“b”。 示例二 再例如,我们要查询出每个产品订购数量最大的订单,Select语句如下: Select a.产品,a.客户,a.日期,a.数量 From {订单} a INNER JOIN (Select 产品,Max(数量) As 数量 From {订单} Group By 产品) b on a.产品 = b.产品 And a.数量 = b.数量 Order By a.产品 |