【发布时间】:2012-03-09 01:55:54
【问题描述】:
我目前有一个如下所示的表格:
名字 --- 猫 --- Desc --- Thresh --- Perc --- Err --- BP --- 日期
Bob --------C1--------Inf--------7Per--------0.05--------0----- ADC2--12/02/2011
Bob --------C1--------Inf--------7Per--------0.05--------2-----BAC2-- 09/05/2011
Bob --------C1--------Inf--------7Per--------0.05--------0-----RBE2-- 2011 年 11 月 2 日
Bob --------C1--------Inf--------7Per--------0.05--------8-----VBE2-- 2012 年 8 月 14 日
Bob --------C1--------Inf--------7Per--------0.05--------6-----AEC2-- 2009 年 2 月 25 日
Bob --------C1--------Inf--------7Per--------0.05--------0-----PBC2-- 2011 年 7 月 2 日
Bob --------C2--------Com------8Per--------0.45--------1-----XBC4--09/ 05/2011
Bob --------C2--------Com------8Per--------0.45--------0-----AEC2--02/ 02/2010
Bob --------C2--------Com------8Per--------0.45--------0-----PBC2--08/ 14/2012
Bob --------C2--------Com------8Per--------0.45--------3-----ADC2--05/ 05/2001
Bob --------C2--------Com------8Per--------0.45--------0-----ADC2--08/ 02/2010
Bob --------C2--------Com------8Per--------0.45--------0-----BAC2--06/ 17/2010
乔--------C1--------Inf---------7Per--------0.05--------0-----PBC2 --08/14/2012
乔--------C1--------Inf---------7Per--------0.05--------0-----ZTM2 --09/05/2011
乔--------C1--------Inf---------7Per--------0.05--------2-----QYC2 --05/17/2010
乔--------C1--------Inf---------7Per--------0.05--------0-----FLC2 --3/19/2010
乔--------C1--------Inf---------7Per--------0.05--------1-----KSC2 --09/05/2011
乔--------C1--------Inf---------7Per--------0.05--------0-----JYC2 --08/14/2012
假设我想构建一个查询来表达如下内容:显示所有仍采用相同格式的记录:
名字 --- 猫 --- Desc --- Thresh --- Perc --- Err --- BP
Bob --------C1--------Inf--------7Per--------0.05-----16-----BAC2,VBE2, AEC2
Bob --------C2--------Com------8Per--------0.45--------4------XBC4,ADC2
乔--------C1--------Inf--------7Per--------0.05-----3------QYC2 , KSC2
但是的日期范围是 01/01/2009 到 09/31/2011
我已经使用了由 http://allenbrowne.com/func-concat.htmlAllen Browne 结合以下SQL
SELECT
[Name],
[Cat],
[Desc],
[Thresh],
[Perc],
sum([Err]),
ConcatRelated("[BP]", "make_table_bp", "[Err] = " & [BP])
FROM make_table_bp
GROUP BY
[Name],
[Cat],
[Desc],
[Thresh],
[Perc],
[Err],
[BP];
但现在我想将日期范围合并到 SQL 中,并且仍然有基于此日期范围的不同记录。这甚至可能吗?
假设查询如下:
SELECT
sub.[Name],
sub.Cat,
sub.[Desc],
sub.Thresh,
sub.Perc,
sub.SumOfErr,
ConcatRelated("BP",
"make_table_bp",
"[Err] > 0 AND [Name] = '" & sub.[Name]
& "' AND Cat = '"
& sub.Cat & "'",
"BP")
AS concat_BP
FROM
(SELECT
q.[Name],
q.Cat,
q.[Desc],
q.Thresh,
q.Perc,
Sum(q.[Err]) AS SumOfErr
FROM make_table_bp AS q
GROUP BY
q.[Name],
q.Cat,
q.[Desc],
q.Thresh,
q.Perc
) AS sub
ORDER BY
sub.Name,
sub.Cat;
【问题讨论】: