0

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

谢谢!

4

2 回答 2

1

您可以使用INNER JOIN执行以下操作:

SELECT TableA.* FROM TableA 
INNER JOIN TableB 
ON TableA.Code LIKE TableB.Code + '%'
于 2017-11-20T17:41:26.103 回答
0

你可以使用JOIN

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

Rextester 演示

于 2017-11-20T17:33:48.037 回答