| Usuario |
consulta sin repeticiones |
black_flowers
3 Mensaje(s) |
| Enviado - 28/5/2006 |
| |
Tengo una tabla (alumnos) con los siguientes campos: nombre asignatura nota. Y quiero sacar un listado de todos los datos de los alumnos sin tener en cuenta los nombres de los alumnos repetidos. La única forma que se me ocurre es la siguiente:
select distinct nombre from alumnos
pero de esta forma tan sólo extrae el campo nombre. ¿cómo puedo hacer para extraer los demás campos (poniendo la condición de que no se repita el campo nombre,no sé si me explico)?
gracias y un saludo. ;-) |
| |
|
C_Nipotti
92 Mensaje(s)
|
| Enviado - 29/5/2006 |
| |
Hola.
SELECT DISTINCT te descartará registros que sean exactamente iguales, como ya comprobaste, si solo tomas el campo NOMBRE es una cosa, pero si tomas los demas, solo descartara los registros donde coincidan NOMBRE, ASIGNATURA, y NOTA.
Ahora yo pregunto qué quieres hacer con los otros datos, porque si un alumno concurre a 10 asignaturas, ¿igual quieres que aparezca una sola vez? ¿y cual de las 10 asignaturas debería acompañar al nombre del alumno?
Aguardo respuesta, en especial si no entendí!
C.A. Nipotti
|
| |
|
black_flowers
3 Mensaje(s) |
| Enviado - 29/5/2006 |
| |
gracias x tu respuesta. Te lo pongo con un ejemplo para que se vea mejor. Bueno la verdad es que no tiene sentido hacer esto pero es que es un ejemplo simplificado para que se pueda entender mejor. La base de datos con la que trabajo tiene más campos y para preguntar he preferido poner algo más simplificado (aunque no tenga mucho sentido).
nombre asignatura nota
juan matemáticas 5
juan filosofía 5
juan física 5
jose física 5
al hacer el select quiero que me devuelva los siguientes datos:
juan matemáticas 5
jose física 5
es decir los que tienen el mismo nombre no los saca.
muchas gracias, a ver si me puedes ayudar, a mi me dá la sensación de que no tiene xq ser una consulta muy complicada, pero es que soy novato en esto del sql.
;-) |
| |
|
C_Nipotti
92 Mensaje(s)
|
| Enviado - 30/5/2006 |
| |
Je Je Je
A mí me dirían "¿Matemáticas? ¿Y no estudia nada más? ¿Y porqué se ven Matemáticas y no las otras?" Pero si no importa que se vea una de las materias y no las otras del mismo alumno, allí va:
SELECT * FROM notas GROUP BY nombre;
Dime si sirvió!!!!!
|
| |
|
black_flowers
3 Mensaje(s) |
| Enviado - 30/5/2006 |
| |
necesito algún tiempo para probarla ya que va en un script php y todavía me va a llevar algún tiempo, pero de todas formas me parece que sí vale. Si el group by elige sólo la primera coincidencia en el nombre y pasa de todas las demás pues esa es la solución.
MUCHAS GRACIAS!! |
| |
|