ACCESO Unirse sin identificadores distintos
Frecuentes
Visto 42 veces
0
Tengo dos tablas que no tienen identificadores distintos para unirse. Sin embargo, Table1 tiene un campo (Milestone) que contiene una cadena de texto con un formato de 999ABCD. Table2 tiene un campo Asunto que también contiene esta información; sin embargo, se encuentra en ubicaciones aleatorias como parte de un título dentro del campo Asunto de los registros.
¿Hay alguna manera de unir las dos tablas (Table1.Milestone a Table2.Subject) según el valor de Table1.Milestone y buscar el texto coincidente dentro de Table2.Subject?
¡Gracias!
2 Respuestas
0
No estoy seguro de si esto funcionará o no, pero podría ayudarlo a comenzar en la dirección correcta:
select * from Table1 T1
join Table2 T2
on T2.Subject LIKE '%' + T1.Milestone + '%'
No recomendaría hacer una combinación como esta, incluso si funciona.
contestado el 22 de mayo de 12 a las 22:05
0
No uso Access, pero he conseguido que esto funcione para usted en MS SQL. Si puede encontrar una función similar a CHARINDEX en Access, esto funcionará para usted:
Preparar:
DECLARE @table1 TABLE (milestone varchar(20))
DECLARE @table2 TABLE (subj varchar(1000), details varchar(1000))
INSERT INTO @table1 VALUES ('999ABCD')
INSERT INTO @table1 VALUES ('999XYZ')
INSERT INTO @table2 VALUES ('Subject is 999ABCD', 'I should join only to 999ABCX')
INSERT INTO @table2 VALUES ('Subject 999XYZ is me', 'I should join only to 999xyz')
INSERT INTO @table2 VALUES ('Subject zzzzz is me', 'Nobody gets me')
Consulta real:
SELECT *
from @table1 t1
JOIN @table2 t2 ON CHARINDEX(milestone, subj) > 0
Aquí está el resultado:
milestone subj details
999ABCD Subject is 999ABCD I should join only to 999ABCX
999XYZ Subject 999XYZ is me I should join only to 999xyz
Espero que ayude!
David
contestado el 22 de mayo de 12 a las 22:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas sql join or haz tu propia pregunta.
¡No hace falta decir que no te aconsejo que te unas de esta manera! Solo quería ayudar a resolver su problema. - Dave Collins