Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/07/2012, 12:51
DoHITB
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 1 mes
Puntos: 33
Respuesta: like con subquery

Bueas de nuevo Leo,
Ya se que me complico la existencia... hace poco que estoy en el mundo laboral (y menos aún con acuerdos de este tipo) y además me resulta muy difícil usar un ejemplo que refleje lo que quiero hacer en esta query...
He estado tratando de buscar un ejemplo práctico, y espero que aclare bastante las cosas:

Tenemos tres tablas: COCHE, PERSONA, PROPIEDAD, ok?


Código:
COCHE:                                    PERSONA:                              PROPIEDAD:
(id/nombre)
1 / Toyota Auris
2 / Ford Fiesta
3 / Nuevo Ford Fiesta

PERSONA:
(id/nombre)
1 / DöH
2 / Leo

PROPIEDAD:
(id/coche/persona)

1 / 1 / 1
2 / 1 / 2
3 / 2 / 1
4 / 2 / 2
5 / 3 / 1
Bien, lo que quiero hacer con el SQL es lo siguiente (explicado con palabras): "Como DöH y Leo tienen un Ford Fiesta, y DöH tiene un Nuevo Ford fiesta, y el nombre de este coche es parecido al coche que tienen ámbos, mostramos a Leo el "Nuevo Ford Fiesta"...", es decir, como ambos tendríamos un coche en común y yo tengo uno que tú no tienes pero es parecido, quizás tu deberías saberlo.

Espero que esto sea bastante más aclaratorio... siguiendo con este ejemplo, mi sql quedarías así:

Código:
usando el # = 2

select c.nombre
	from coche c, propiedad p
	where p.coche = c.id and
		  p.persona <> 2 and
		  c.nombre like (concat('%', select c.nombre
		               from coche c, propiedad p
					   where p.coche = c.id and
					         p.persona = 2) and
		 p.coche not in (select coche
		                  from propiedad
		        		  where persona = 2)
Espero que ahora sí puedas ver claro lo que hace la query y puedas echarme una mano

Saludos