我试图在Access中构建一种“模糊逻辑”系统。在字段中选择每个值的第一条记录
基本上我有一组数据,该字段为“提供者”,但在数据源输入的“提供者”可以隐藏在其他文字,或缩写的方式。
我有我已经确定了供应商,他们实际上都是不同的文本字符串和另一个表。
因此,例如提供 “Flynet” 可以输入
- flynet
- 成名flynet
- flynet.com
- FameFlynet.uk.com
- 成名
- 等
到目前为止,我已经到了可以获取通过规范化提供程序的数据表的位置,或者如果没有与我确定的那些关键字匹配,那么它会通过提供程序中的原始值领域。
但是,如果它与提供者文本中的多个关键字匹配,则会返回多条记录,即作为fameflynet输入的记录将由“flynet”和“fame”关键字拾取并出现两次。
如何限制它,这样我只得到1个记录每个记录原始数据返回?
我目前使用2个查询来到我所在的位置。
SELECT [Weekly Data].ID, Keywords.Return
FROM Keywords, [Weekly Data]
WHERE ((([Weekly Data].Provider) Like "*" & [keywords].[lookup] & "*"));
然后
SELECT [Weekly Data].ID, IIf([Q_Key_Search]![Return]<>"",[Q_Key_Search]![Return],[Weekly Data]![Provider]) AS Act_Provider
FROM [Weekly Data] LEFT JOIN Q_Key_Search ON [Weekly Data].ID = Q_Key_Search.ID;
你试过SELECT DISTINCT? – Fionnuala
我做了感谢,但无法让它工作。 – WillSimmo