Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/06/2011, 20:59
Avatar de mortiprogramador
mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: problema con consulta


<saludos>
Pues en primera no se si este bien usado ese join que tienes pues hasta donde he visto casi siempre el join luego del ON usa el cruce de los campos de ambas tablas.
En segunda, porque no usas la tercera (los idiomas) tabla aquí??
es decir, la consulta debería unir a las tres tablas, para que puedas filtrar
tanto por centro como por idioma, o por alguno de los dos, para saber por ejemplo
que centro dicta cuales idiomas, o cual idioma es dictado en cuales centros,
o si se dicta cierto idioma en cierto centro.
En cuyo caso te sugeriría algo así:

Código SQL:
Ver original
  1. SELECT c.descripcion,i.descripcion FROM centro c
  2. INNER JOIN rel_idiomas ri ON c.id_centro = ri.id_centro
  3. INNER JOIN idiomas i ON ri.id_idioma = i.id_idioma
  4. WHERE 1 =1 AND i.id_idioma = 1 AND c.id_centro = 1;

Obviamente, los AND deberían ser dinámicos dependiendo
si se busca por cualquiera de los filtros posibles, o si ya vas a manejar
consultas fijas en varias partes, pues entonces los AND serian fijos
(por ese tema del dinamismo, fue que use el WHERE 1 = 1 pero pues si son fijos,
puedes obviar esa parte y poner uno de los AND como WHERE)

</saludos>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com