【发布时间】:2021-01-27 19:29:44
【问题描述】:
我在 Microsoft Access 2016 中工作。我有一个包含数千行数据的数据表 [Data]。我有一个查找表 [Lookup],其中包含所有已知的项目 ID。这些表应该结合项目 ID,这是一个字符串字段。通常,我会使用以下方法加入这些表:
SELECT * FROM [Data] LEFT JOIN [Lookup] ON [Data].[ProjectID] = [Lookup].[ProjectID]
问题是 [Data] 项目 ID 字段是一个比查找更长的字符串。举个例子
数据:
- PROJECT.TS.01.004.005
查找:
- PROJECT.TS
- PROJECT.TS.01
- PROJECT.TS.02
我尝试使用以下方法:
SELECT * FROM [Data] LEFT JOIN [Lookup] ON [Data].[ProjectID] LIKE [Lookup].[ProjectID] + '*'
唯一的问题是查找表中有多个“喜欢”数据字段的条目。我需要能够加入不仅是“LIKE”而且在所有“LIKE”条目中长度最长的条目。
看起来我真的需要调用一个“最喜欢”的函数,但据我所知,它在 SQL 语法中并不存在。
关于如何有效地连接这两个表有什么建议吗?
【问题讨论】:
标签: sql database ms-access sql-like ms-access-2016