【发布时间】:2014-06-18 16:37:29
【问题描述】:
我确信这个问题已经被问过很多次了,但是我在谷歌上搜索了一下,有点迷茫,所以希望得到一些帮助:
我想创建一个新的计算字段“accurateMatch”。如果填充 [EMAIL],则准确匹配应包含 [EMAIL] 的内容,否则应为空。现在这将是 [EMAIL] 的克隆,但如果我现在可以让这部分工作,我会添加嵌套的 IIF。
我有一张包含数十万条记录的表。在某些情况下,我们有 [EMAIL] 在其他情况下我们没有。 我通过按字母顺序对表格进行排序知道有大约 100k 记录没有电子邮件地址。 然后我打开查询生成器并在我创建的名为“accurateMatch”的新空文本字段中添加了一个表达式:
IIf(IsNull([EMAIL]),"",[EMAIL])
但不是生成导致数十万条记录的查询,其中一些记录有一个填充的 [hasEmailForMatching] 字段,而是一个空查询。字段标题在那里,但没有别的?
为什么会发生这种情况,我该如何解决?
这是注释后的 SQL 视图。我还有什么其他信息可以帮助人们在这里帮助我吗?
SELECT someList.accurateMatch
FROM someList
WHERE (((someList.accurateMatch)=IIf(IsNull([EMAIL]),"",[EMAIL])));
我怀疑我的目标在阅读答案后不清楚。我想创建一个包含 EMAIL 的新字段,其中存在电子邮件。我在阅读一些 MS 文档时遇到了一个兔子洞,这些文档建议我运行查询向导并构建查询,然后使用更新。自从过去几个月一直在使用 SQL 并且正在努力使用 Access 之后,我有点迷失了。
【问题讨论】:
-
不清楚你在问什么,因为你还没有发布你的 SQL。
-
发布sn-p实际上已经阐明了一点。我的目标是添加一个新字段,如果填充了电子邮件,则添加电子邮件,否则如果未填充电子邮件,则添加名字 + 姓氏。我只是想让表达式在添加名称部分之前先运行。看起来这个表达式正在过滤一个已经为空的字段(我刚刚创建了“accurateMatch”。我想创建一个新字段,当电子邮件存在时,它是电子邮件的内容,或者其他东西。@GordThompson 在你写的时候发布了这个评论你的。你关注吗?
-
好的,你想要:
SELECT someList.accurateMatch FROM someList WHERE IsNull([someList].[EMAIL])吗? -
我想我问错了问题。不确定我是否应该删除并再次发布或保留此线程,但这里有:如果填充了 [EMAIL],我想创建一个名为“accurateMatch”的新字段,其中包含 [EMAIL] 的内容,否则为空白“”。 (我知道它基本上是 [EMAIL] 的精确克隆,但我会在这部分工作后添加嵌套条件
-
只需编辑您的问题。没问题。如果问题标题反映了不同的内容,请也进行编辑。
标签: ms-access