2010-12-12 22 views
53

Me tropecé con un delicado problema de SQL cuando necesitaba usar un valor de un campo dentro de una declaración LIKE% ..%.Usar LIKE% ..% con valores de campo en MySQL

Ejemplo:

SELECT t1.Notes, t2.Name 
FROM Table1 t1, Table2 t2 
WHERE t1.Notes LIKE '%t2.Name%' 

Esto es sólo un ejemplo de la parte superior de la cabeza para mostrar lo que tengo que hacer (sé que esto no va a funcionar). Necesito usar el valor de t2.Name dentro del COMO% ..%

supongo que esto es trivial cuando se sabe que;)

Respuesta

110

Uso:

SELECT t1.Notes, 
     t2.Name 
    FROM Table1 t1 
    JOIN Table2 t2 ON t1.Notes LIKE CONCAT('%', t2.Name ,'%') 
+0

¡Gracias, eso funcionó! Aa dije, es trivial cuando lo sabes. Sin embargo, me encontré con el siguiente problema ... Pero haré una nueva pregunta. ¡Gracias! –

+0

¿Alguna solución para todas las bases de datos? – Loc

+0

¿Alguna solución para usar LIKE% ..% con el campo en la declaración IF? – TechCare99

-1
SELECT t1.a, t2.b 
    FROM t1 
    JOIN t2 ON t1.a LIKE '%'+t2.b +'%' 

porque el última respuesta no funciona

Cuestiones relacionadas