我可以使用“IN”吗?对 Advantage 数据库表 (TAdsTable) 进行过滤?

发布于 2024-11-14 18:13:46 字数 354 浏览 3 评论 0原文

我想使用整数字段的多个值将过滤器应用于优势表。

等效的 SQL 是:

SELECT * FROM TableName WHERE FieldName IN (1, 2, 3)

是否可以在 AdsTable 上执行相同的操作,而必须使用“OR”重复该字段?

我想要类似的东西:

Filter := 'FieldName IN (1, 2, 3)'

而不是:

Filter := 'FieldName = 1 OR FieldName = 2 OR FieldName = 3'

I want to apply a filter to an advantage table using multiple values for an Integer field.

The equivalent SQL would be:

SELECT * FROM TableName WHERE FieldName IN (1, 2, 3)

Is it possible to do the same on an AdsTable within having to repeat the field using an "OR"?

I want to something like:

Filter := 'FieldName IN (1, 2, 3)'

Instead of:

Filter := 'FieldName = 1 OR FieldName = 2 OR FieldName = 3'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

澜川若宁 2024-11-21 18:13:46

为此可以使用INLIST 函数。该函数的存在是为了与 Visual FoxPro 兼容。它看起来像:

Filter := 'InList(FieldName, 1, 2, 3)';

但是,我不认为它目前已针对使用索引进行了优化。因此,如果表非常大,则使用 FieldName = 1 OR FieldName = 2 ... 版本的过滤器会更有效。

It is possible to use the INLIST function for this. That function exists for Visual FoxPro compatibility. It would look like:

Filter := 'InList(FieldName, 1, 2, 3)';

However, I do not believe that it is currently optimized to use an index. So if the table is very large, it will be much more efficient to use the FieldName = 1 OR FieldName = 2 ... version of the filter.

看轻我的陪伴 2024-11-21 18:13:46

IN 语法仅适用于 SQL,不适用于过滤器和索引中使用的表达式引擎。

正如马克已经建议的那样,我将使用 FieldName = 1 OR FieldName = 2 ... 语法。

有关 Advantage 表达式引擎Advantage 优化过滤器 的更多信息,请参阅帮助:

http://devzone.advantagedatabase.com/dz/WebHelp/Advantage10.1/master_advantage_expression_engine.htm

http://devzone.advantagedatabase.com/dz/WebHelp/Advantage10.1/master_advantage_optimized_filters.htm

The IN syntax only works for the SQL, not for the expression engine which is used in filters and indexes.

As already suggested by Mark I would use the FieldName = 1 OR FieldName = 2 ... syntax.

More information on the Advantage Expression Engine and Advantage Optimized filters is in the help:

http://devzone.advantagedatabase.com/dz/WebHelp/Advantage10.1/master_advantage_expression_engine.htm

http://devzone.advantagedatabase.com/dz/WebHelp/Advantage10.1/master_advantage_optimized_filters.htm

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文