Ms access 如何编写查询以获得所需的结果?

Ms access 如何编写查询以获得所需的结果?,ms-access,ms-access-2010,Ms Access,Ms Access 2010,我需要一些帮助在查询中编写IIF语句。我对IIF语句做了很多研究,了解它们的基本语法和结构。但是我能在互联网上找到的所有例子都是非常基本和简单的,我需要我的更复杂一点 我在MS Access 2010中有两个表。一个称为“ProductMasterData”,另一个称为“DateCodes”。ProductMasterData表中的每个记录都有一个名为“CartonDeformat”的字段,其中包含一个数字1-36。DateCodes表中的每个记录都有一个名为“OutputDateCode”的字

我需要一些帮助在查询中编写IIF语句。我对IIF语句做了很多研究,了解它们的基本语法和结构。但是我能在互联网上找到的所有例子都是非常基本和简单的,我需要我的更复杂一点

我在MS Access 2010中有两个表。一个称为“ProductMasterData”,另一个称为“DateCodes”。ProductMasterData表中的每个记录都有一个名为“CartonDeformat”的字段,其中包含一个数字1-36。DateCodes表中的每个记录都有一个名为“OutputDateCode”的字段。我希望IIF语句说的是,如果CartonDataCode=1,则从第1行返回OutputDateCode。如果CartonDecode不等于1,则不执行任何操作。我想写类似的IIF语句,对数字2-36做同样的事情。我知道这些语句应该是什么样子,但它很模糊,我需要一些帮助。我认为应该是这样的:

IIF(CartonDateFormat=1, I don't know what to put here, Nothing)

如果陈述的第一部分等于真的,我不知道该怎么说。这是我的第一个问题,所以我非常感谢任何人能给我的帮助。谢谢

根据您的需要,您最好加入这两个表。
如果您只需要这些
IIF()
语句,可以执行以下操作:

IIF(
  CartonDateFormat = 1, 
  (SELECT OutputDateCode FROM DateCodes WHERE ID = 1), 
  NULL
)
我假设在表
DateCodes
中有一个类似
ID
的列,它存储了
cartondeformat
中的值所对应的代码。
但即使没有
IIF()
,只要使用:

SELECT OutputDateCode FROM DateCodes WHERE ID = 1
结果将是相同的:
-如果找到id,则将返回
OutputDateCode

-如果不是,则返回NULL