
25/06/2011, 20:59
|
 | Colaborador | | Fecha de Ingreso: septiembre-2009 Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 6 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 originalSELECT c.descripcion,i.descripcion FROM centro c INNER JOIN rel_idiomas ri ON c.id_centro = ri.id_centro INNER JOIN idiomas i ON ri.id_idioma = i.id_idioma 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 |