Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/12/2010, 05:29
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Ayuda con una consulta

El caso se puede solucionar, solamente necesita una invocación en el FROM por cada curso que quieras mostrar usando alias para las tablas de modo que no choquen los nombres de las columnas. Pero no se trata de un método práctico porque requeriría una invocación a la tabla CURSOS por cada posible relación, y además para que sea operativo deberías llamar a cada campo en el SELECT por su tabla y nombre de columna; no podrás en ese caso usar "SELECT * ..." porque se producirían duplicaciones de nombres.
El caso sería un
Código MySQL:
Ver original
  1. SELECT a, b, c, d, e, T1.f, T2.f, ...
  2. FROM tabla1 T1 INNER JOIN tabla2 T2 ON T1.campo1 = T2.campo1
  3. LEFT JOIN tabla3 T3 ON T2.campo1 = T3.campo1
  4. LEFT JOIN tabla3 T4 ON T2.campo1 = T4.campo1
Existe otra solución y es usar GROUP_CONCAT() sobre el campo del nombre de curso, pero eso requiere dos cosas: a) Hay que llamar a cada campo del SELECT por su tabla y columna; b) Hay que usar GROUP BY sobre los campos adecuados.
El resultado de este caso sería que en esa columna aparecerían todas las variaciones de nombres en una lista separada por comas (ese es el sentido de ese GROUP_CONCAT: encadenar agrupando).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)