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

Instruccion SQL

Estas en el tema de Instruccion SQL en el foro de Mysql en Foros del Web. Saludos a todos. Nuevamente necesito de sus ayudas. Apenas estoy conociendo las instrucciones SQL. Necesito esto: Tengo dos tablas: Curso y horario, ambas tienen sus ...
  #1 (permalink)  
Antiguo 22/04/2008, 08:21
 
Fecha de Ingreso: febrero-2008
Mensajes: 37
Antigüedad: 16 años, 2 meses
Puntos: 0
Instruccion SQL

Saludos a todos. Nuevamente necesito de sus ayudas.
Apenas estoy conociendo las instrucciones SQL.
Necesito esto:
Tengo dos tablas: Curso y horario, ambas tienen sus respectivos ID y sus nombres.
TablaCurso(ID(primary):entero, Nombre:caracter, Duracion:entero)
TablaHorario(ID(primary):entero, Hora:caracter)
Estas están n:n, es decir de muchos a muchos. Como consecuencia surge una tercera tabla que se llamaría Curs_Hora y contiene los dos (2) campos primarios de ambas tablas.
Mi primera pregunta sería:
¿en esta tercera tabla ambos campos deben ser primario?
Hice un formulario donde a un curso le asigno una hora que quedo bien.
Ahora necesito es hacer un formulario donde llame a un curso y este me muestre la(s) hora(s) asignadas al curso.
¿cómo me quedaría esa instruccion SQL?
También pueden decirme si hay un tema abierto igual.
Muchas gracias a todos.
  #2 (permalink)  
Antiguo 22/04/2008, 09:47
Avatar de SUSMO  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 188
Antigüedad: 16 años
Puntos: 0
Re: Instruccion SQL

Hola t-udis,

Los dos ids tienen que ser claves primarias de la tercera tabla ya que para un mismo curso no se puede repetir el mismo horario. A la vez, estos dos ids serán claves foranas de las respectivas tablas a las que pertenecen.

Por otro lado, no lo ha he probado pero la query que creo que podrías hacer es la siguiente:

select c.ID, c.Nombre, h.Hora
from TablaCurso c, TablaHorario h, Curs_Hora ch
where c.ID="id_curso_llamado"
and c.ID=ch.ID_CURSO
and ch.ID_HORA = h.ID

Que vaya bien!!
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 04:14.