代码之家  ›  专栏  ›  技术社区  ›  Yao Z.

SQL Server:使用LIKE将字符串列表与通配符进行比较

  •  1
  • Yao Z.  · 技术社区  · 7 年前

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

    非常感谢。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Md. Suman Kabir    7 年前

    你用下面的方法做 内部连接 :

    SELECT TableA.* FROM TableA 
    INNER JOIN TableB 
    ON TableA.Code LIKE TableB.Code + '%'
    
        2
  •  0
  •   Lukasz Szozda    7 年前

    你可以用 JOIN :

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

    Rextester Demo