SQL Server:使用LIKE比较字符串列表和通配符

时间:2017-11-20 17:32:32

标签: sql-server nested wildcard sql-like sql-in

我试图找到一种方法来比较字符字段和存储在查找表中的几个字符串通配符。例如,表A是我的主表。有一个名为" Code"在表A中我需要评估。我想找到所有行WHERE Code LIKE "ABC%", "A%", or "A12%"。这三个字符串存储在名为表B的查找表中。我试图不惜一切代价避免对这些通配符进行硬编码。有没有办法做WHERE A.Code LIKE (SELECT * FROM B)

之类的事情

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用 INNER JOIN

执行以下操作
SELECT TableA.* FROM TableA 
INNER JOIN TableB 
ON TableA.Code LIKE TableB.Code + '%'

答案 1 :(得分:0)

您可以使用JOIN

SELECT DISTINCT a.*
FROM tabA a
JOIN tabB b
  ON a.Code LIKE b.col_name;

<强> Rextester Demo