Tengo una tabla, Clases y otra tabla que llamo "cursos", es decir, ejemplos de una clase impartida por una persona específica en un lugar específico. Quiero sacar una tabla que básicamente me muestra qué clases están activas en función de ciertos parámetros del curso. Por ejemplo:¿PUEDO UNIRME dos tablas con una sola coincidencia para cada fila de una tabla en MySQL?
CLASSES class_id|class_name --------|------------ 1|Class One 2|Class Two 3|Different Class etc... COURSES course_id|class_id|room ---------|--------|-------- 1| 3| 1 2| 3| 2 3| 1| 1 4| 3| 1 5| 3| 2 6| 2| 1 etc...
Me pregunto si hay una manera que sólo puede conseguir algo como SELECT classes.* FROM classes JOIN courses ON classes.class_id=courses.class_id WHERE courses.room=1
para devolver sólo una instancia de cada clase. Lo que sucede es que obtengo solo las clases que tienen lugar en la sala 1, pero obtengo varias instancias de cada una porque hay varias instancias de esa clase en la tabla de cursos en la sala 1.
Tengo intenté todos los tipos diferentes de JOIN
- izquierda, derecha, interior, etc. - y porque estoy tirando de una tabla según las especificaciones de la otra, todos parecen darme el mismo resultado.
Así que estoy recibiendo:
class_id| class_name |course_id|room --------|--------------|---------|-------- 1|Class One | 3| 1 2|Class Two | 6| 1 3|Diferent Class| 1| 1 3|Diferent Class| 4| 1 etc...
Pero quiero acaba de obtener:
class_id| class_name |course_id|room --------|--------------|---------|-------- 1|Class One | 3| 1 2|Class Two | 6| 1 3|Diferent Class| 1| 1 etc...
¿Puedo tener sólo JOIN
en el primer partido para cada fila de clases? Soy algo nuevo con MySQL, así que estoy teniendo problemas para expresar claramente lo que quiero hacer; Me disculpo.
También: Estoy sacando todo esto en PHP a través de PDO
- ¿hay alguna forma específica de lograr esto en PDO
?
Si solo desea un registro de la tabla CURSOS, ¿cuál de ellos desea? IE: ¿Siempre el valor más bajo de courseid (y room?)? –
Honestamente, no importa. Tienes razón, debería haber dicho eso. Solo voy por los datos de CLASES; la única razón por la que voy a CURSO es obtener solo aquellas clases que tienen los cursos correspondientes con los criterios correctos. –