Lotus Notes在sql中检索“not in”之类的数据

时间:2013-08-16 12:09:08

标签: lotus-notes lotus-domino lotus

我在从Lotus文档显示数据时遇到问题,并对其他文档中存在的数据进行过滤。 例如:这些是两个文档:Employees(带有“EmpName”和“EmpNo”字段)和Docs(带有“DocNo”和“EmpNo”字段)。 我需要创建一个视图来显示Employees中的文档,但只显示Docs不包含EmpNo文档的文档。 换句话说,如果在Docs中存在EmpNo = 12的文档,则不得看到来自Empeo = 12的Employees的数据。

在SQL中,我可以这样做:“从Empo不在的员工中选择*(从文档中选择EmpNo)”。

我可以在LotusNotes中做类似的事情吗?

谢谢, 托马斯。

2 个答案:

答案 0 :(得分:0)

在Lotus Notes中,没有连接的概念,因此无法通过将其与另一个集合(docs)相关联来过滤集合(员工)。

由于您希望在视图中显示员工,因此您需要在Employee文档中添加一些指示符,以指示是否存在包含员工编号的Doc文档。

如果是EmpNo,请设置隐藏视图,其中包含所有带有排序第一列的Doc文档。

然后在Employee表单上创建一个计算字段,该字段使用@DbLookup查找该隐藏视图。如果找到匹配项,则可以将该字段设置为1,否则设置为0。

最后,您可以向Employees视图选择公式添加计算字段= 1的条件。

您仍然会遇到更新这些员工文档的问题。员工文档中的指标字段会在您保存时自动更新,因此这不是问题。但是如果Doc文档发生变化,事情就会变得不同步。解决该问题的一种方法是创建一个代理,在您保存Doc文档后刷新所有员工文档并触发该代理。

答案 1 :(得分:0)

我同意肯。为了使观点发挥最佳作用,必须有一个指标。有几个代理选项可能不像每次编辑文档时运行代理一样昂贵。您可以将代理设置为在白天运行多次。这只取决于信息需求。