Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/05/2008, 02:00
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: Varias filas o varias columnas para una tabla

Si no vas a aumentar nunca el numero de idiomas por usuario puedes hacerlo con la primera pero como te aparezca un usuario que quiere 4 o quieras que tu empresa crezca y dejar libre el numero de idiomas vas a tener problemas... (en si es un error de diseño)

Tanto en el primer caso como en el segundo te faltaria una tabla:

TablaIdiomas
idIdioma
nombreidioma


y en las tablas usuario, ensena i aprende guardas el id del idioma no el nombre, esto reducirá mucho el espacio en disco y elimina la posibilidad de escribir el nombre de un idioma de distintas formas "Español" "Castellano"....

la consulta que pides no se me ocurre como hacerla sin subconsultas....

Código:
Select tabla_usuarios.nombre,
          tabla_aprende.idioma_aprende
from tabla_usuarios inner join tabla_aprende
        on tabla_usuarios.ID_usuario= tabla_aprende.ID_usuario
where tabla_usuarios.ID_usuario 
               in (Select tabla_usuarios.ID_usuario
                         from tabla_usuarios inner join tabla_aprende
                         on tabla_usuarios.ID_usuario= tabla_aprende.ID_usuario
                         where idioma_aprende="Español");
Quim