Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/03/2011, 13:52
oscarbt
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años, 9 meses
Puntos: 27
ayuda con esta consulta

Buenas tardes, tengo una consulta q me tiene loco y no la he podido sacar

Tengo las situientes tablas:

municipios:

Código MySQL:
Ver original
  1. CREATE TABLE `municipios` (
  2.   `COD_MUN` int(11) NOT NULL,
  3.   `NOM_MUN` char(80) default NULL,
  4.   PRIMARY KEY  (`COD_MUN`)
  5. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

tipo imnueble:
Código MySQL:
Ver original
  1. CREATE TABLE `tipo_inmueble` (
  2.   `COD_TIP_INM` int(2) NOT NULL,
  3.   `NOM_TIP_INM` char(20) default NULL,
  4.   PRIMARY KEY  (`COD_TIP_INM`)
  5. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;


zonas:

Código MySQL:
Ver original
  1. CREATE TABLE `zonas` (
  2.   `COD_ZON` int(4) NOT NULL,
  3.   `NOM_ZON` varchar(50) default NULL,
  4.   PRIMARY KEY  (`COD_ZON`)
  5. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

y mi tabla principal: inmuebles:

Código MySQL:
Ver original
  1. CREATE TABLE `inmuebles` (
  2.   `COD_INM` int(11) NOT NULL,
  3.   `COD_TIP_INM` int(2) NOT NULL,
  4.   `COD_MUN` int(11) NOT NULL,
  5.   `COD_ZON` int(4) NOT NULL,
  6.   `DES_INM` varchar(150) default NULL,
  7.   `VAL_INM` float default NULL,
  8.   `ARE_INM` float default NULL,
  9.   `NUM_HAB_INM` int(2) default NULL,
  10.   `NUM_BAN_INM` int(2) default NULL,
  11.   `NUM_GAR_INM` int(2) default NULL,
  12.   `EST_SOC_INM` int(1) default NULL,
  13.   PRIMARY KEY  (`COD_INM`),
  14.   KEY `FK_TIPO_INMUEBLE` (`COD_TIP_INM`),
  15.   KEY `FK_MUNICIPIO_INMUEBLE` (`COD_MUN`),
  16.   KEY `FK_ZONA_INMUEBLE` (`COD_ZON`)
  17. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

La consulta consiste en lo siguiente:
Mostrar por ejemplo: Inmuble de TIPO: Apartamento o de TIPO: Casa
Inmueble de TIPO: Apartamento y del municipio: Suarez

Es decir combiar or y and

Lo hice de la siguiente manera y funciona: solo que cuando yo escojo tipo Apartamento y municipio Suarez, en los resultados tambien se muestran los inmuebles de tipo CASA

No se como hacer los OR combinados con AND

esta es la consulta:

Código MySQL:
Ver original
  1. SELECT i.COD_INM, i.DES_INM, i.VAL_INM, i.ARE_INM, i.NUM_HAB_INM, i.NUM_BAN_INM, i.NUM_GAR_INM, i.EST_SOC_INM, m.NOM_MUN, ti.NOM_TIP_INM, z.NOM_ZON
  2. inmuebles i
  3. INNER JOIN municipios m
  4. USING ( COD_MUN )
  5. )
  6. INNER JOIN tipo_inmueble ti
  7. USING ( COD_TIP_INM )
  8. INNER JOIN zonas z
  9. USING ( COD_ZON )
  10. WHERE ti.COD_TIP_INM =1
  11. OR m.COD_MUN =3
  12. OR z.COD_ZON =0;

Espero me puedan ayudar, gracias