我有一个包含位置和设备名称的表。我想保留组内匹配的设备名称部分。
location_code | device_name | location
1 Building_1_in Building_1
1 Building_1_out Building_1
1 Building_1_gate Building_1
2 Drive 3 gate2 Drive 3
2 Drive 3 gate1 Drive 3
2 Drive 3 keypad Drive 3
我有位置代码和设备名称,但我正在尝试创建location
列。我不能使用SUBSTRING
函数,因为目标字符串的长度不同,我不能使用CHARINDEX
函数,因为没有一致的分隔符。此外,编写location_code
函数的CASE WHEN
太多了。
有没有人有任何想法?
答案 0 :(得分:0)
总体思路: 您可以按location_code和设备名称对表排序进行排序。然后,您可以为每个location_code提取第一个和最后一个的公共开头部分。