tus datos no tienen un standar para poder encontrar la relacion de lo que necesitas lo unico que veo es que tus codigos son todos de 10 caracteres por lo que hice este query:
Código SQL:
Ver originalCREATE FUNCTION test_char (@cadena VARCHAR(MAX))
RETURNS VARCHAR(MAX)
AS
BEGIN
--declare @cadena varchar(max)
DECLARE @cadena2 VARCHAR(MAX)
DECLARE @caracter VARCHAR(10)
DECLARE @resultado VARCHAR(20)
DECLARE @x INT
--set @cadena='Santa Fe a E0060A8620 Chajari TMA'
SET @resultado=''
SET @x=1
while @x<=len(@cadena)
BEGIN
SELECT @caracter=SUBSTRING(@cadena,@x,1)
IF @caracter=' '
BEGIN
SELECT @cadena2=SUBSTRING(@cadena,1,@x)
IF len(@cadena2)=11
BEGIN
SET @resultado=@resultado + @cadena2
END
SET @cadena=SUBSTRING(@cadena,len(@cadena2)+1,len(@cadena))
--print @cadena
SET @x=1
END
SET @x=@x+1
END
RETURN @resultado
END
CREATE TABLE #resultado
(
campo VARCHAR(100)
)
INSERT INTO #resultado VALUES ('SanJuanCCM to J0058A8605 Gobernador Cavez')
INSERT INTO #resultado VALUES ('a M0116A8605 General Alvear')
INSERT INTO #resultado VALUES ('Mendoza a M0041A8605 Cabral')
INSERT INTO #resultado VALUES ('JONTE a C0900B8660 Anasco')
INSERT INTO #resultado VALUES ('San Rafael a M1026A8630 San Rafael TASA')
INSERT INTO #resultado VALUES ('to M0100A8660:')
INSERT INTO #resultado VALUES ('Anasco a C0011A8605 Nunes')
INSERT INTO #resultado VALUES ('SanLuisCCM a D0003A8605 Progreso CRM')
INSERT INTO #resultado VALUES ('Bahia Blanca a B0789A8607 Tres Arroyos')
INSERT INTO #resultado VALUES ('Santa Fe a E0060A8620 Chajari TMA')
SELECT dbo.test_char(campo) FROM #resultado
Y regresa esto como resultado:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
J0058A8605 Gobernador
M0116A8605
M0041A8605
C0900B8660
M1026A8630
C0011A8605
D0003A8605
B0789A8607
Como ves regresa algunos datos con mas informacion(como gobernador que tiene 10 caracteres de largo) y algunos como M0100A8660: no lo regresa porque tiene 11 carcteres de largo entre espacios, pero te regresara los que si cumplan y los que no (que supongo seran pocos) los podras acomodar de forma manual :)