Tengo un requisito de proporcionar un partido sugerido entre los datos en dos tablas de bases de datos. El requisito básico es; - Se debe sugerir una "coincidencia" para el mayor número de palabras coincidentes (independientemente del orden) entre las dos columnas en cuestión.palabra coincidente en SQL Server
Por ejemplo, dados los datos;
Table A Table B
1,'What other text in here' 5,'Other text in here'
2,'What am I doing here' 6,'I am doing what here'
3,'I need to find another job' 7,'Purple unicorns'
4,'Other text in here' 8,'What are you doing in here'
Ideally, my desired matches would look as follows;
1 -> 8 (3 words matched)
2 -> 6 (5 words matched)
3 -> Nothing
4 -> 5 (4 words matched)
que he encontrado word count functions que parecen prometedores, pero no puedo pensar en cómo usarlo en una sentencia SQL, que me dará mi pareja deseada. Además, la función vinculada no es exactamente lo que necesito, ya que utiliza charindex, que creo que busca una palabra dentro de una palabra (es decir, 'in' coincidirá con 'bin').
¿Puede alguien ayudarme con esto ??
Gracias.
3 partidos 6. Ambos tienen la palabra "yo". Y 1 coincide con 5 mejores que 8. Comparten 4 palabras en común. –
Tienes razón, pero olvidé mencionar que no debería haber duplicados en los partidos. Una vez que se coincide una fila determinada, no se puede hacer coincidir nuevamente. Tiene razón acerca de 5 coincidencia 8 también, pero como acabo de comentar su respuesta, idealmente debería tener en cuenta el porcentaje de palabras generales que coinciden también. –