Necesito un select que devuelva resultados como este:
SELECT * FROM MyTable WHERE Column1 CONTAINS 'word1 word2 word3'
Y necesito todos los resultados, es decir, que esto incluya cadenas con 'palabra2 palabra3 palabra1' o 'palabra1 palabra3 palabra2' o cualquier otra combinación de las tres.
Todas las palabras tienen que estar en el resultado.
Método bastante lento, pero que funciona para incluir cualquier de las palabras:
SELECT * FROM mytable
WHERE column1 LIKE '%word1%'
OR column1 LIKE '%word2%'
OR column1 LIKE '%word3%'
Si necesitas que todas las palabras estén presentes, utiliza esto:
SELECT * FROM mytable
WHERE column1 LIKE '%word1%'
AND column1 LIKE '%word2%'
AND column1 LIKE '%word3%'
Si quieres algo más rápido, tienes que buscar en la búsqueda de texto completo, y esto es muy específico para cada tipo de base de datos.
SELECT * FROM MyTable WHERE
Column1 LIKE '%word1%'
AND Column1 LIKE '%word2%'
AND Column1 LIKE '%word3%'
Cambiado "O" a "Y" basado en la edición de la pregunta.