比较字符串中随机放置的信息?
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 + '/%';
我有两个 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 + '/%';