动态命名的SQL字段

时间:2014-02-03 16:43:42

标签: sql ms-access

我有一个查询,给定一个开始日期,给出该周和接下来的11周汇总数据。目前这几周的字段名称是第1周,第2周...有没有办法用它们代表的日期命名字段? (仅使用SQL)

如果给定的输入是#11/9/13#,那么我正在寻找类似的东西。

SELECT
    [Qry Week Totals By Billto and CC].CC,
    Sum([Qry Week Totals By Billto and CC].[Week 1]) AS [inputdate],
    Sum([Qry Week Totals By Billto and CC].[Week 2]) AS [inputdate] +7 ...
FROM
    ...

当然这对我不起作用。但我希望它能传达我正在寻找的东西。

1 个答案:

答案 0 :(得分:1)

您可以在交叉表之前使用分区解决问题:

SELECT Partition([adate], #3/1/2013#, #4/1/2013#, 7) AS Part1,
       table1.adate,
       Mid([part1], 1, Instr([part1], ":") - 1) AS Mid1,
       Mid([part1], Instr([part1], ":") + 1) AS Mid2,
       Format([mid1], "yyyy/mm/dd") & " - " & Format([mid2], "yyyy/mm/dd") AS
       TheDateRange
FROM   table1
WHERE  table1.adate>#3/6/2013#

否则,您可能会考虑一个存储桶表。