动态SQL列名 [英] Dynamic SQL column names

查看:357
本文介绍了动态SQL列名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个查询:

SELECT [Week 1].Product, [Week 2].Product, [Week 3].Product, [Week 4].Product, Sum([Week 1].Transaction_Amount), Sum([Week 2].Transaction_Amount), Sum([Week 3].Transaction_Amount), Sum([Week 4].Transaction_Amount) 
FROM [Week 2],[Week 3],[Week 3],[Week 4];

我有70周名称的资料 [第1周] [第70周]

I have data for 70 weeks name [week 1] to [week 70]

是否可以使 [第1周],[第2周],[第3周],[第4周] 动态。

(i,e)我可以有4周的名字,如 [第8周],[第6周],[第45周],[第18周] ,并替换 [Week 1],[第2周],[第3周],[第4周] 与我的查询中的上述4

(i,e) have a master table where I can have 4 week names like [Week 8], [Week 6], [Week 45], [Week 18] and replace the [Week 1], [Week 2], [Week 3], [Week 4] with the above 4 in my query

访问应用程序对不起,我以前没有提过。

IT IS AN MS ACCESS APPLICATION. Sorry I did not mention previously.

推荐答案

更新

动态创建选择查询的按钮上的VBA代码。 如何构建动态查询

Create some VBA code on a button which dynamically creates the select query. How to build a dynamic query

您可以:

1)更改表格结构,以便您可以在所有星期内使用单个表格周(ID,WeekNumber,column1,column2 ...)。然后在您的Select语句中,您可以添加一个where子句来使用一个参数来选择你感兴趣的几个星期。这取决于具有相同结构的所有周表。

1) Change your table structure so that you have a single Table for all weeks e.g. Week (ID, WeekNumber, column1, column2...). And then in your Select statement you can add a where clause to use a parameter to select which weeks you are interested in. This is dependant on all the weeks tables having the same structure.

2)使用动态SQL构建您的select语句并替换表名。请参阅 sp_executesql

2) Use Dynamic SQL to build your select statement and replace your table names. See sp_executesql

这篇关于动态SQL列名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆