Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Forzando un LIKE en subconsulta

Estas en el tema de Forzando un LIKE en subconsulta en el foro de Mysql en Foros del Web. Estimados compañeros, Quisiera plantearles el porqué de la cuestión, ya que con suerte la solución o el arreglo la he conseguido obtener. Es sencillisimo. Piénsese ...
  #1 (permalink)  
Antiguo 25/08/2011, 02:04
 
Fecha de Ingreso: septiembre-2008
Mensajes: 91
Antigüedad: 15 años, 6 meses
Puntos: 1
Pregunta Forzando un LIKE en subconsulta

Estimados compañeros,
Quisiera plantearles el porqué de la cuestión, ya que con suerte la solución o el arreglo la he conseguido obtener.

Es sencillisimo. Piénsese de una tabla llamada "test" con un listado de nombres, con columna primaria "id", y "nombre".

Si queremos hacer una consulta dentro de la misma tabla para encontrar semejanzas de nombres y mostrar cuales han habido, nos encontramos con:

SELECT a.id, (
SELECT GROUP_CONCAT( CAST( b.id AS CHAR ) )
FROM test b
WHERE b.nombre LIKE CONCAT( '%', a.nombre, '%' )
AND a.id != b.id
) AS algo
FROM test a
HAVING algo IS NOT NULL

Mi pregunta es, ¿porqué he tenido que concatenar los % para poder hacer esa consulta LIKE? He tenido la suerte de salir con esa idea para probar y funciona. Decir que sí, que poniendo solo "LIKE a.nombre" hace una comparación, pero solo como si de " LIKE 'a.nombre%' " se tratara!

Es una curiosidad que quisiera entender, muchas gracias de antemano :)

Etiquetas: select, subconsulta, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:56.