我想检查表格中特定列中是否存在一组字符串 比如说
'ABC', 'DEF', 'GHI', ...
我想知道现有的字符串和不存在的字符串。
答案 0 :(得分:1)
WHERE Field IN ('ABC,'DEF', 'ETC')
答案 1 :(得分:0)
如果您将候选字符串放入参考表refTable
,并且您搜索的数据位于名为myTable
的表格中,并且您要搜索的列名称为{{1}那么我想你想要这样的东西:
stringvalue
这里的关键是使用COUNT(t.stringvalue)而不是COUNT(*),因为MSSQL的COUNT()只包含非NULL值,而LEFT JOIN为t中没有匹配的所有列产生NULL。
根据refTable和myTable的大小,这可能会很慢,因此您可能还想在SELECT r.stringvalue, COUNT(t.stringvalue) numPresent
FROM refTable r
LEFT JOIN myTable t
ON t.stringvalue = r.stringvalue
GROUP BY r.stringvalue
上向两个表添加索引。