Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MS Access SQL:使用字段值确定要在计算中使用的正确字段_Sql_Ms Access_Dynamic_Lookup - Fatal编程技术网

MS Access SQL:使用字段值确定要在计算中使用的正确字段

MS Access SQL:使用字段值确定要在计算中使用的正确字段,sql,ms-access,dynamic,lookup,Sql,Ms Access,Dynamic,Lookup,很抱歉,我在写标题时很费劲,无法准确表达我的意图。我希望我能在正文中解释清楚,我会尽量简化我的问题 我有一张有5个字段的桌子 ID,基期,第1期,第2期,第3期 基期字段将显示基期1或基期2,我需要做的是编写一个查询,该查询将执行基期2/基期1如果基期='Period 1'或者执行基期3/基期2如果基期='Period 2' 我知道我可以做到:IIF([基期]='Period 1',Period 2/Period 1,IIF…)然而,我有很多很多信息周期-将每个周期想象为一个月或一天 基本上,我

很抱歉,我在写标题时很费劲,无法准确表达我的意图。我希望我能在正文中解释清楚,我会尽量简化我的问题

我有一张有5个字段的桌子

ID,基期,第1期,第2期,第3期

基期
字段将显示
基期1
基期2
,我需要做的是编写一个查询,该查询将执行
基期2/基期1
如果
基期='Period 1'
或者执行
基期3/基期2
如果
基期='Period 2'

我知道我可以做到:
IIF([基期]='Period 1',Period 2/Period 1,IIF…)
然而,我有很多很多信息周期-将每个周期想象为一个月或一天

基本上,我只希望
基期
中的值通知查询从
基期
中命名的字段中获取值


如果拆分表格更简单,我可以(我隐约记得我完成了类似的任务,做了类似的事情,我就是找不到它在哪里!)

拆分表格,使每个ID+句点组合都是一条记录

ID                  Primary Key
ParentID            Foreign Key
PeriodID            Identifies the period
Value               The value of the Period for the given parent.

拆分表,使每个ID+期间组合为一条记录

ID                  Primary Key
ParentID            Foreign Key
PeriodID            Identifies the period
Value               The value of the Period for the given parent.

你的桌子设计不好;它需要正常化。这就是你有这个问题的原因。如果做不到这一点,IIF可能是唯一合理的解决方案。@RobertHarvey表格设计并不总是最合适的solution@Yuck当前位置在这里。这是一个简单的规范化问题;它需要正常化。这就是你有这个问题的原因。如果做不到这一点,IIF可能是唯一合理的解决方案。@RobertHarvey表格设计并不总是最合适的solution@Yuck当前位置在这里。这是一个简单的规范化问题。