Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta compleja entre 2 tablas

Estas en el tema de Consulta compleja entre 2 tablas en el foro de Mysql en Foros del Web. Tengo las siguiente tablas: Tabla unidades: id_unidad --------------------- int(2) unidad ------------------------ varchar(100) id_habilidad ------------------ char(2) Tabla temas: id_tema --------------------------- int(5) tema ------------------------------- varchar(100) id_unidad -------------------------- ...
  #1 (permalink)  
Antiguo 19/05/2009, 08:45
Avatar de boy-computer  
Fecha de Ingreso: diciembre-2006
Ubicación: Cuba, Pinar del Río
Mensajes: 337
Antigüedad: 17 años, 4 meses
Puntos: 1
Pregunta Consulta compleja entre 2 tablas

Tengo las siguiente tablas:

Tabla unidades:
id_unidad --------------------- int(2)
unidad ------------------------ varchar(100)
id_habilidad ------------------ char(2)

Tabla temas:
id_tema --------------------------- int(5)
tema ------------------------------- varchar(100)
id_unidad -------------------------- char(2)

Como pueden ver la tabla unidades y la tabla temas estan relacionadas por el identificador id_unidad, pues a una unidad le corresponden varios temas (relación 1:n).

Bien, hasta aquí no hay problemas, el asunto es que cuando ha una consulta que me seleccione los unidades y los temas por unidad, me pone en una columna las unidades y en la otra los temas, la consulta me queda de esta forma:

Cita:
select unidades.unidad, temas.tema
from unidades inner join temas on ( unidades.id_unidad = temas.id_unidad )
Ahora, cuando trato de mostrar estos resultados, quisiera que me saliera de la siguiente forma:


unidad 1

- tema 1
- tema 2
- tema 3



unidad 2

- tema 4
- tema 5
- tema 6



unidad 3

- tema 7
- tema 8
- tema 9



Y así sucesivamente, a medida que hay una unidad, entonces ponga sus temas.

Como puedo lograr esto.

Última edición por boy-computer; 19/05/2009 a las 08:50 Razón: Titulo no claro
  #2 (permalink)  
Antiguo 20/05/2009, 06:16
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta compleja entre 2 tablas

Código sql:
Ver original
  1. SELECT unidades.unidad, temas.tema
  2. FROM unidades INNER JOIN temas ON ( unidades.id_unidad = temas.id_unidad )
  3. ORDER BY unidades.unidad, temas.tema

con el order by conseguiras que te salga en el orden que pides, pero para que salga en el formato que pides deberàs usar algun tipo programación externa al sql...
quizas se puede hacer de alguna forma con sql puro pero seria complicarse muy mucho la vida!!!

Quim
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:43.