Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/05/2017, 06:41
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Comprobar valor campo Tabla1 con cadena campo Tabla2

Nunca te va a dar resultados porque NO estás consultando por el ID, sino buscando una cadena que dice " + tabla1.id + ".
No es lo mismo.

Y para que quede mas claro, si ID es un NUMERO, entonces NO debes usar LIKE. LIKE está definido para buscar patrones de caracteres, y el ID es un valor numérico, es decir es una MAGNITUD ESCALAR. En ese sentido, y como magnitud, puede ser mayor, menor, igual o pertenecer a un RANGO, pero NO es "parecido a".

¿Se entiende?

Ahora bien, si lo que deseas es usar un valor dado, NUMERICO como parte de una búsqueda en una cadena (usar un ID sugiere un gran defecto de diseño de los datos", lo que debes hacer es transformar ese ID en una cadena de texto que LIKE acepte, y para eso existen las funciones nativas.
Código MySQL:
Ver original
  1. SELECT * FROM tabla2 INNER JOIN tabla1 ON tabla2.fuente LIKE CONCAT('%', tabla1.id, '%');

Código MySQL:
Ver original
  1. SELECT * FROM tabla2 INNER JOIN tabla1 ON INSTR(tabla2.fuente , tabla1.id) > 0;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)