0

我有一个带有以下记录的“MasterTable”:

主表:

Col1
PX02894
PX02895
PX02896
PX02897/98

从查找表中,我想获取 Col2 链接,保持 MasterTable 的格式,如下面的输出表所示。

查找表:

Col1            Col2
PX02894-PX02895 Link001
PX02896         Link002
PX02897-PX02898 Link003

输出表:

Col1         Col2
PX02894      Link001
PX02895      Link001
PX02896      Link002
PX02897/98   Link003

正如你所看到的,写作是不同的“/”和“-”。

我试过了

len(col1) > 7 然后左(col1,5) + 右(col1,2)

但这是错误的。我需要先联合吗?

这是一个小提琴

我需要在这里做什么?提前致谢。

4

2 回答 2

1
select m.col1,l.col2
From MasterTable m
inner join linkTable l
On (Substring(m.col1,1,7) = SubString(l.col1,1,7)) or (Substring(m.col1,1,7) = Substring(l.col1,9,7))

只要您可以信任数据格式,就应该这样做。如果不是更多检查,例如

Substring(l.col1,8,1) = '-'
于 2013-05-10T13:07:28.340 回答
0

试试这个——这在 sybase 中有效——如果你使用 SQL 服务器查找备用函数

选择子字符串(col1,1,(charindex("-",col1)-1)),
UNION
选择子字符串(col1,(charindex("-",col1)+1),char_length(col1))

谢谢,戈帕尔

于 2013-05-10T14:33:40.467 回答