Sql 从表字段中使用多个相似条件选择行

Sql 从表字段中使用多个相似条件选择行,sql,sql-like,Sql,Sql Like,我用外部软件生成的CSV文件创建了一个表。 在其他字段中,此表包含一个名为“CustomID”的字段。 此表上的每一行都必须使用该字段的内容链接到客户。 每个客户可以自行决定是否拥有一组或多组CustomID,只要每个序列以相同的前缀开始。 例如: 客户1可以使用“cust1_n”和“cstm01_n”(其中n是一个数字) 客户2可以使用“客户2\u n” 现在,我创建了两个支持表,如下所示: Customers PKID Name ---- --------------------

我用外部软件生成的CSV文件创建了一个表。 在其他字段中,此表包含一个名为“CustomID”的字段。 此表上的每一行都必须使用该字段的内容链接到客户。 每个客户可以自行决定是否拥有一组或多组CustomID,只要每个序列以相同的前缀开始。 例如: 客户1可以使用“cust1_n”和“cstm01_n”(其中n是一个数字) 客户2可以使用“客户2\u n”

现在,我创建了两个支持表,如下所示:

Customers
  PKID Name
  ---- --------------------
  1    Customer 1
  2    Customer 2

我需要实现的是使用客户的CustomIDs表中的所有类似条件检索给定客户的所有行。 到目前为止,我失败得很惨。 有什么线索吗? 提前谢谢。
银色。

要像使用一样使用,必须将图案中的*替换为%。不同的dbms使用不同的函数进行字符串操作。假设有一个替换函数可用:

SELECT ir.* 
FROM ImportedRows ir
JOIN CustomIDs c ON ir.CustomID LIKE REPLACE(c.SearchPattern, '*', '%')
WHERE c.FKCustomerID  = 1;

在这里询问SQL问题时,您应该始终命名您的dbms,因为不同的dbms(甚至版本)在可用的函数方面有所不同。@ThorstenKettner更不用说,即使是基本的SQL命令或数据类型有时对某些边缘情况也有不同的含义或限制。还考虑提供一个,银。我是多么愚蠢…我不知道我可以用LIKE作为连接条件。。。谢谢你,伙计!它显然是有效的。。。
CustomIDs
  PKID FKCustomerID SearchPattern
  ---- ------------ -------------
  1    1            cust1_*
  2    1            cstm01_*
  3    2            customer2_*
SELECT ir.* 
FROM ImportedRows ir
JOIN CustomIDs c ON ir.CustomID LIKE REPLACE(c.SearchPattern, '*', '%')
WHERE c.FKCustomerID  = 1;