按客户的“个别小部件”的“修订日期”进行排序

时间:2010-01-07 01:58:13

标签: ms-access sorting

我正在尝试使用Access运行查询。每个客户可能拥有相同“小部件”的多个修订版。并非所有客户都需要相同的修订,例如 - 在“ID”列中输入了CustomerA,因为10,13和34-34包含我想看到的数据而没有看到条目10和13 - 每个'ID'都有输入的日期和相同的'小部件#' - 所以10,13和34显示'Entry#''widget42''rev#''customerA''date输入'。同样,'CustomerC'只有1个条目。 (第一次修订通常留空,即 - 有些人不说Rev. 0,单元格只是空白。)所以,'customerC'看起来像这样 - 'Entry#''widget42''rev#(可能是空白的) )''customerC''date进入'。 我想要的是只看到任何一个小部件的每个客户的最新版本,一个页面上的所有客户都有他们最新修改的小部件(每个客户没有重复的小部件)。

'Entry#' - 'widget#' - 'rev#' - 'customer#' - 'date entered'

'10'------'widget42' - '' - '巴西'-----'08/19/1999'

'13'------'widget42' - 'Rev 1' - '巴西'-----'05/08/2001'

'20'------'widget5' - '' - '爱尔兰'----'09/12/2001'

'26'------'widget6' - '' - '巴西'----- '12 / 01/2001'

'30'------'widget5' - 'Rev 1' - '爱尔兰'----'10/30/2003'

'33'------'widget42' - '' - '爱尔兰'----'11/16/2005'

'34'------'widget42' - 'Rev 2' - '巴西'-----'05/14/2006'

'43'------'widget23' - '' - '秘鲁'-------'06/16/2006'

'54'------'widget6' - '' - '爱尔兰'----'06/17/2006'

我想看什么----------------------------可能由客户排序-----仅归还最后修订号

'Entry#' - 'widget#' - 'rev#' - 'customer#' - 'date entered'

'20'------'widget5' - '' - '爱尔兰'----'09/12/2001'

'26'------'widget6' - '' - '巴西'----- '12 / 01/2001'

'30'------'widget5' - 'Rev 1' - '爱尔兰'----'10/30/2003'

'33'------'widget42' - '' - '爱尔兰'----'11/16/2005'

'34'------'widget42' - 'Rev 2' - '巴西'-----'05/14/2006'

'43'------'widget23' - '' - '秘鲁'-------'06/16/2006'

'54'------'widget6' - '' - '爱尔兰'----'06/17/2006'

1 个答案:

答案 0 :(得分:0)

您可以根据查询生成报告,例如:

SELECT w.entry, w.widget, w.revx, 
       w.customer, w.date_entered 
FROM
   (SELECT entry, widget, Nz([rev],"rev0") AS revx, 
           customer, date_entered
    FROM widgets)  w 
INNER JOIN (SELECT customer, widget, Max(Nz(rev,"rev0")) As revx 
            FROM widgets 
            GROUP BY customer, widget)  AS a 
ON (w.widget = a.widget) AND (w.customer = a.customer) AND (w.revx=a.revx)
相关问题