比较字符串中随机放置的信息?

Compare randomly placed info in string?

我有两个 table 如下所示:

PKey      Description    Group
1AF2      Item 1         101
2B2E4     Item 2         102
3G54A1    Item 3         101
4TR7      Item 4         103

像这样:

PKey                      Rate 1    Rate 2
1AF1/1AF2/1AF3            .075      .0089
2B2E1/2B3E3/2B1E4/2B7E5   .068      .049
3G54A1/3H52A4/3G14B2      .025      .0099
4TR3/4TR7/4TR8            .045      .0012

我需要 return 每个项目 PKey 的 Rate 1 和 Rate 2,但是制作 table 2 的人对 SQL 数据库的工作原理知之甚少,无法实际制作table 很有用(想节省时间什么的)。

有什么简单的方法可以 return 信息吗?它总是被同行中其他 PKey 的斜线分开,但它可以落在开头、中间的任意点或行的末尾。此外,有些项目可能根本不会出现在一行中。

因此表 2 中的 PKey 包含单个 PKey 的串联列表。您需要一个字符串操作来匹配记录,即 '/1AF1/1AF2/1AF3/' like '%/1AF2/%':

select *
from t1
join t2 on '/' + t2.pkey + '/' like '%/' + t1.pkey + '/%';