我必须为不匹配的记录生成查询输出。
假设我有两个表 Table1 和 Table2。两个表的列都为 DrugName。没有 ID 列。只是值列。
我必须通过过滤 Table2 中的 DrugNames 从 Table1 生成输出。假设 Table1 有 1000 条记录,Table2 有 100 条记录。在应用过滤器时,我应该从 Table1 中获得 900 条记录。
select * from Table1
left join Table2 on
Table1.DrugName = Table2.DrugName
where Table2.DrugName is null
上面的语法返回不匹配的记录。
假设在 Table2.DrugName 中将是“ABCD”,而在 Table1.DrugName 中将是“XYZ ABCD”或“ABCD GHIJ”。如果 Table1.DrugName 有匹配的单词“%ABCD%”,我必须过滤。
...但请记住,性能可能很糟糕。您最好将较长的名称拆分为多个部分,然后加入 DrugNameElements 表。这样,您可以索引元素并快速识别匹配的元素。