Ayuda: obtener el mismo campo en dos registros de una tabla
Publicado por José Manuel (7 intervenciones) el 05/11/2013 10:38:20
Hola.
Soy bastante nuevo en esto del sql, y tengo un problema que seguro que es simple, pero que no consigo resolver, por más manuales de sql que he consultado. Estoy trabajando en mysql 5.5.
Supongamos que tengo una lista de alumnos, que forman grupos de dos alumnos para hacer un trabajo. Para ello, creo estas dos tablas:
La tabla "grupos" me dice qué dos alumnos de la tabla "alumnos" forman cada grupo. El resultado que busco es el siguiente:
Es decir, un listado con el número de cada grupo, y los dos alumnos que lo componen.
El problema con el que me choco es cómo definir la cláusula SELECT. En principio, entiendo que debería ser algo así:
Pero esto no tiene mucho sentido, porque si las dos últimas líneas del SELECT hacen referencia a la misma columna de la misma tabla, me van a obtener siempre el mismo resultado.
Está claro que me falta algo, pero no encuentro la manera. Como he dicho, estoy muy verde en sql, así que si alguien me puede orientar se lo agradecería mucho.
Muchas gracias.
Soy bastante nuevo en esto del sql, y tengo un problema que seguro que es simple, pero que no consigo resolver, por más manuales de sql que he consultado. Estoy trabajando en mysql 5.5.
Supongamos que tengo una lista de alumnos, que forman grupos de dos alumnos para hacer un trabajo. Para ello, creo estas dos tablas:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Tabla alumnos:
+-----------+---------------+
| id_alumno | nombre_alumno |
+-----------+---------------+
| 1 | Antonio |
| 2 | Luis |
| 3 | Manuel |
| 4 | Juan |
| 5 | Francisco |
| 6 | Alejandro |
+-----------+---------------+
Tabla grupos:
+-------+---------+---------+
| grupo | alumno1 | alumno2 |
+-------+---------+---------+
| 1 | 1 | 3 |
| 2 | 5 | 2 |
| 3 | 4 | 6 |
+-------+---------+---------+
La tabla "grupos" me dice qué dos alumnos de la tabla "alumnos" forman cada grupo. El resultado que busco es el siguiente:
1
2
3
4
5
6
7
8
Resultado buscado:
+-------+---------------+----------------+
| GRUPO | PRIMER ALUMNO | SEGUNDO ALUMNO |
+-------+---------------+----------------+
| 1 | Antonio | Manuel |
| 2 | Francisco | Luis |
| 3 | Juan | Alejandro |
+-------+---------------+----------------+
Es decir, un listado con el número de cada grupo, y los dos alumnos que lo componen.
El problema con el que me choco es cómo definir la cláusula SELECT. En principio, entiendo que debería ser algo así:
1
2
3
4
5
6
7
SELECT
grupos.grupo AS 'GRUPO',
alumnos.nombre_alumno AS 'PRIMER ALUMNO',
alumnos.nombre_alumno AS 'SEGUNDO ALUMNO'
FROM
alumnos,
grupos
Pero esto no tiene mucho sentido, porque si las dos últimas líneas del SELECT hacen referencia a la misma columna de la misma tabla, me van a obtener siempre el mismo resultado.
Está claro que me falta algo, pero no encuentro la manera. Como he dicho, estoy muy verde en sql, así que si alguien me puede orientar se lo agradecería mucho.
Muchas gracias.
Valora esta pregunta
0