我可以使用一些帮助在查询中编写IIF语句。我对IIF语句进行了很多研究,并且知道它们的基本语法和结构。但是我可以在互联网上找到的所有示例都是非常基础的,非常简单明了,因此我需要更加复杂一些。
我在MS Access 2010中有两个表。一个表名为“ ProductMasterData”,另一个表为“ DateCodes”。 ProductMasterData表中的每个记录都有一个名为“ CartonDateFormat”的字段,其中包含数字1-36。 DateCodes表中的每个记录都有一个名为“ OutputDateCode”的字段。我想在IIF语句中说的是,如果CartonDateCode = 1,则从第1行返回OutputDateCode。如果CartonDateCode不等于1,则什么也不做。我想编写类似的IIF语句,对数字2-36会执行相同的操作。我对这些语句的外观有所了解,但是这很模糊,我需要一点帮助。我认为它应该看起来像这样:
IIF(CartonDateFormat=1, I don't know what to put here, Nothing)
如果语句的第一部分等于true,我不确定该如何措辞。这是我的第一个查询,非常感谢任何人都可以给我的帮助。谢谢!
答案 0 :(得分:1)
根据您的需求,也许您最好将2个表合并。
如果只需要这些IIF()
语句,则可以执行以下操作:
IIF(
CartonDateFormat = 1,
(SELECT OutputDateCode FROM DateCodes WHERE ID = 1),
NULL
)
我假设表ID
中有一列类似DateCodes
的列,用于存储CartonDateFormat
中的值所对应的这些代码。
但是,即使没有IIF()
,如果您只使用:
SELECT OutputDateCode FROM DateCodes WHERE ID = 1
结果将是相同的:
-如果找到ID,则将返回OutputDateCode
。
-否则,将返回NULL。