Sql 从另一个字段中选择columnName

Sql 从另一个字段中选择columnName,sql,database,ms-access,Sql,Database,Ms Access,我是微软Access的新手 表A: No Date(dd/mm/yyyy) 12345 1/5/2015 23446 1/7/2015 表B: No Month1 Month2 Month3 12345 10 9 7 23446 8 5 3 我有两张桌子,A和B 我想合并两个表,表B中的列是No,表A中的monthX列中的一个基于当前月份减去自列日期算起

我是微软Access的新手

表A:

No          Date(dd/mm/yyyy)
12345       1/5/2015
23446       1/7/2015
表B:

No        Month1    Month2   Month3
12345     10        9        7
23446     8         5        3
我有两张桌子,A和B

我想合并两个表,表B中的列是No,表A中的monthX列中的一个基于当前月份减去自列日期算起的月份

今天是2015年1月7日 所以12345是第3个月,23446是第1个月

我希望的组合表是:

No         BMonth
12345      7 (use month3)
23446      8 (use month1)
如何编写代码以获得该结果


谢谢

看起来您可能需要重新考虑表B的结构。可能没有,月份,日期或月号。只需使用WHERE语句来指示基于该字段的月份编号:从表B中选择*,其中No=12345,MonthNumber=3I同意Gene的观点,即数据模型看起来很奇怪。两个表的列都没有主键吗?@gene:thx用于应答!那么,数据将重复3次?那会变成这么多行吗?我们可以做一些类似的事情吗?若我想要month3,我创建了计算列ex:A=3,所以它变成了从表B中选择月份+A?@throsten:yes throsten。我没有为这两个表创建特定的主键。如果您改变结构,您只需要显示所有行,其中“No”等于,monthNo等于您搜索的月份。我不确定您是否可以在查询中执行month+A,但我知道如果您在VBA中创建动态查询,您可以