我有一个“MasterTable”,其中包含以下记录:
MasterTable:
Col1
PX02894
PX02895
PX02896
PX02897/98
从查询表中我想获得Col2链接,保持MasterTable的格式,表示为下面的输出表。
LookupTable中:
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)
但那是错的。我需要先联盟吗?
这是Fiddle
我需要在这做什么?提前谢谢。
答案 0 :(得分: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) = '-'
答案 1 :(得分:0)
试试这个 - 这适用于sybase--如果使用SQL Server查找备用函数
选择子串(col1,1,(charindex(“ - ”,col1)-1)),
UNION
select substring(col1,(charindex(“ - ”,col1)+1),char_length(col1))
谢谢, 戈帕尔