gpt4 book ai didi

sql - 像列 2 一样在列 1 上内连接两个表,后跟非字母表

转载 作者:行者123 更新时间:2023-12-03 07:53:26 26 4
gpt4 key购买 nike

我有两个表 - name_table:

<表类=“s-表”><标题>ID姓名数据类型 <正文>1ssn_1int2ssn_12namvarchar3ssnint4ssn123int5ssnnamvarchar6ss123varchar7ss_12int8ssnamvarchar

模式表:

<表类=“s-表”><标题>ID模式 <正文>10ssn11SS

我想按照类似条件名称的模式连接两个表,后跟非字母表。

select 
A.name, B.pattern
from
name_table A
inner join
pattern_table B on A.name like B.pattern +'[^a-zA-Z]%'

这里ssnssn_12nam 匹配- 我只想要名称后跟非字母或名称=模式。模式 ss 不应与 ssn、ssn_123 等匹配。

这是我正在寻找的输出:

<表类=“s-表”><标题>姓名模式 <正文>ssn_1ssnssnssnssn123ssnss123SSss_12SS

最佳答案

您可以尝试按照以下条件加入:

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com