Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/04/2014, 05:16
baravaro
 
Fecha de Ingreso: noviembre-2012
Mensajes: 97
Antigüedad: 11 años, 5 meses
Puntos: 1
PROBLEMA con una subconsulta de tres tablas

Muy buenas!

A ver si consigo explicarme:

Tengo tres tablas, ANUNCIOS; IMAGENES y USUARIO

los campos:

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `anuncios` (
  2.   `ID` int(5) NOT NULL,
  3.   `TITULO` varchar(50) collate utf8_spanish_ci NOT NULL,
  4.   `DESCRIPCION` varchar(500) collate utf8_spanish_ci NOT NULL,
  5.   `TARIFA` varchar(15) collate utf8_spanish_ci NOT NULL,
  6.   `WEB` varchar(100) collate utf8_spanish_ci NOT NULL,
  7.   `FECHA_INI` date NOT NULL,
  8.   `FECHA_FIN` date NOT NULL,
  9.   `CATEGORIA` int(2) NOT NULL,
  10.   `MAPA` varchar(1000) collate utf8_spanish_ci NOT NULL,
  11.   `DIRECCION` varchar(50) collate utf8_spanish_ci NOT NULL,
  12.   `USUARIO` int(8) NOT NULL,
  13.   `FACEBOOK` varchar(70) collate utf8_spanish_ci NOT NULL,
  14.   `TWITTER` varchar(70) collate utf8_spanish_ci NOT NULL,
  15.   `GOOGLE` varchar(70) collate utf8_spanish_ci NOT NULL,
  16.   PRIMARY KEY  (`TITULO`,`USUARIO`)
  17. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `imagenes` (
  2.   `ID_ANUNCIO` int(5) NOT NULL,
  3.   `NOMBRE` varchar(40) character set utf8 collate utf8_spanish_ci NOT NULL,
  4.   PRIMARY KEY  (`ID_ANUNCIO`,`NOMBRE`)
  5. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_slovenian_ci;

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `usuarios` (
  2.   `DNI` int(8) NOT NULL,
  3.   `USUARIO` varchar(15) character set utf8 collate utf8_spanish_ci NOT NULL,
  4.   `PASSWORD` varchar(12) character set utf8 collate utf8_spanish_ci NOT NULL,
  5.   `EMAIL` varchar(50) character set utf8 collate utf8_spanish_ci NOT NULL,
  6.   PRIMARY KEY  (`DNI`)
  7. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_slovenian_ci;

lo que intento es sacar las imagenes que coincidan con el id de un anuncio de un usuario determinado. Mi consulta es esta:
Código MySQL:
Ver original
  1. SELECT * from imagenes
  2. where ID_ANUNCIO in(SELECT ID from anuncios where USUARIO='25600083')

La consulta me devuelve las imagenes que coincidan con el anuncio y el usuario, pero no en orden, es decir, me muestra las imagenes en un anuncio que no le corresponde. Lo que quiero es que me saque la imagen del anuncio en concreto y no lo hace. EN teoria el id del anuncio y el de la imagen debe coinciden, pero no se porque mi consulta no me devuelve lo que creo que le estoy pidiendo.

Muchisimas gracias!

Última edición por gnzsoloyo; 16/04/2014 a las 07:31