我正在尝试使用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'
答案 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)