我有两个表 - name_table:
模式表:
我想按照类似条件名称的模式连接两个表,后跟非字母表。
select
A.name, B.pattern
from
name_table A
inner join
pattern_table B on A.name like B.pattern +'[^a-zA-Z]%'
这里ssn
与 ssn_12nam
匹配- 我只想要名称后跟非字母或名称=模式。模式 ss 不应与 ssn、ssn_123 等匹配。
这是我正在寻找的输出:
最佳答案
您可以尝试按照以下条件加入:
select n.name, p.pattern
from name_table n
join pattern_table p on Replace(n.name, p.pattern, '') not like '%[A-z]%';
您可能会发现在交叉应用中实现逻辑更容易:
select n.name, p.pattern
from name_table n
cross apply (
select pattern
from pattern_table p
where Replace(n.name, p.pattern, '') not like '%[A-z]%'
)p;
关于sql - 像列 2 一样在列 1 上内连接两个表,后跟非字母表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76602281/