我有一个查询事务表的报告,我简化了下表:
CREATE TABLE [dbo].[NL_Trans](
[NT_PRIMARY] [int] NOT NULL,
[NT_CODE] [varchar][20] NOT NULL,
[NT_CAT1] [varchar](6) NOT NULL,
[NT_CAT2] [varchar](6) NOT NULL,
)
表中数据如下:
NT_PRIMARY -- NT_CODE --- NT_CAT1 --- NT_CAT2
---------------------------------------------
1 AB100 123 234
2 AB200 124 234
3 AB300 125 235
4 AB400 126 235
该表有几年的数据,有 8NT_CAT
个字段,这些是存储为 varchar 的数字。
我有一个很大的类别列表来限制查询,但我找不到将其限制为文本范围的方法。到目前为止,我已经尝试过:
{NL_Trans.NT_CAT1} IN "124" to "125"
AND
(CDbl ({NL_Trans.NT_CAT1}) IN 124 to 125))
两者都没有返回任何结果。
我不能使用大量 OR 语句,因为在某些情况下范围超过 100 项,这意味着我需要数千行。
任何人都可以提供一个可行的替代方案(并在可能的情况下利用类别索引)或告诉我为什么上述任何一个陈述都不起作用?