访问比较通配符值到表

时间:2017-01-06 21:44:27

标签: compare wildcard ms-access-2013 access icd

这是一个简单的问题,但我的困境是我将1000多个医疗诊断代码与整个ICD9表进行比较。

我有一个截断代码列表,可以与整个数据库进行比较。例如,我截断了代码010,但整个ICD9数据库表有010.01,010.02,...... 010.96,应该返回010 *内的所有值。

我正在使用的截断代码列表是变量,包含800-1,300 +通配符代码,Access在查询中有40个变量限制。

我找到了this help topic,但不明白如何将其转换为我的需求。下面是我目前设置的SQL查询的SQL,但已将其缩短为仅搜索的几个值。如果有办法将通配符代码放入其自己的表中并与ICD9表联合,那就太好了......但我的专业知识无法知道如何使用其他表来搜索通配符。 / p>

SELECT [ICD9-10 Code Match].[ICD9 Code]
FROM [ICD9-10 Code Match]
WHERE ((([ICD9-10 Code Match].[ICD9 Code]) Like "010*" Or ([ICD9-10 Code Match].[ICD9 Code]) Like "011*" Or ([ICD9-10 Code Match].[ICD9 Code]) Like "012*" Or ([ICD9-10 Code Match].[ICD9 Code]) Like "013*" Or ([ICD9-10 Code Match].[ICD9 Code]) Like "014*" Or ([ICD9-10 Code Match].[ICD9 Code]) Like "015*" Or ([ICD9-10 Code Match].[ICD9 Code]) Like "016*" Or ([ICD9-10 Code Match].[ICD9 Code]) Like "017*" Or ([ICD9-10 Code Match].[ICD9 Code]) Like "018*" Or ([ICD9-10 Code Match].[ICD9 Code]) Like "042*" Or ([ICD9-10 Code Match].[ICD9 Code]) Like "0100*"));

1 个答案:

答案 0 :(得分:0)

这应该做:

SELECT [ICD9-10 Code Match].[ICD9 Code]
FROM [ICD9-10 Code Match]
WHERE [ICD9-10 Code Match].[ICD9 Code] IN
    (Select Left([Code], InStr([Code], ".") - 1) From [ICD9])