我正在尝试创建一个仅选择一组值但不包括其他值的查询。
我选择的列称为“参与者”,其中的值不是单个文本项,而是由逗号分隔的项目列表(长度和项目数量不同),例如:“Alpha、Delta、Eta”或值:“Beta、Gamma 或值:“Delta、Beta、Epsilon、Theta、Vau”。
我编写此查询以尝试获取仅包含 Delta、Eta、Epsilon 和 Vau 等值但不包含 Alpha、Beta、Gamma 的结果(这意味着我不希望值:“Alpha, Delta, Eta”包括在内,但我想要以下值:“Delta,Zeta,Epsilon”)
SELECT DISTINCT Name, Category, CODE, Participants
WHERE(Participants NOT LIKE '%Alpha%'
OR Participants NOT LIKE '%Beta%'
OR Participants NOT LIKE '%Gamma%')
AND (Participants LIKE '%Delta%'
OR Participants LIKE '%Eta%'
OR Participants LIKE '%Epsilon%'
OR Participants LIKE '%Vau%');
结果包括查询的 LIKE 部分中指定的所有值,但 NOT LIKE 似乎不起作用,因为我不断收到以下结果:“Alpha,Eta,Epsilon。
我可以在 Access 中创建多个查询以使用 LIKE 查询然后使用 NOT LIKE 进行过滤,但我想找到一种在单个查询中执行此操作的方法。
在线我只能找到查询中有一个 LIKE 和一个 NOT LIKE 的示例
有人可以提出解决方案吗?