Consulta en SQL para access

HOla, tengo una base de datos con varias tablas una de ellas (tabla datosGen) contiene una clave principal por id y está reacionada de 1 a muchos con la tabla mediciones, donde cada registro de la tabla original coincide con váriosen esta última.
Ahora necesito obtener VARIOS CAMPOS de esta última tabla donde se cumpla determinada condición en uno de los campos, pero sin repetir registros de igual Id, es decir si el usuario 770112 tiene 5 registro que este me aparezca sólo una vez y no 5 veces.
Usando un DISTINCT resulta, sólo si obtengo UN SOLO CAMPO, pero si quiero que me muestra más de uno no funciona. Ej
SELECT DISTINCT ci FROM mediciones WHERE fiebre >= 38.
esto funciona a la pefección, pero....
SELECT DISTINCT ci, fiebre, cefalea FROM mediciones WHERE fiebre >= 38.
Me devuelve varios registros del mismo usuario, ¿de qué forma puedo evitar esto?
Gracias, saludos Juanc
1

1 Respuesta

1.065.900 pts. Soy una persona multifacética, tanto manejo la...
Tienes que usar la claúsula GROUP BY.
http://www.aulaclic.es/sql/t_4_2.htm
David Enciso ante todo gracias por responderme.
La claúsula GROUP BY es útil si deseo campos calculados, por ejemplo el numero de regitros de la tabla 2 que coinciden en el campo ID con los de la tabla 1.
Pero yo lo que necesito es que me devuelva un registro (digamos que el primero) de la tabla 2 para cada registro coincidente de la tabla 1 por el campo id. ¿Me explico?
Incluso no necesito obligatoriamente la tabla 1 solo los datos de cada primer registro de la tabla 2 donde los campos ci sean iguales y tenga al menos uno de ellos fiebre >= 38
SELECT DISTINCT ci FROM mediciones WHERE fiebre >= 38
Esto me devuelve cada registro de la tabla 2 que presente al menos una vez fiebre el paciente ci (recuerda que el mismo paciente ci puede tener varios registros en la tabla)
Esto me crea el recorsed con solo el campo ci, yo deseo que me permita incluir otros campos de la propia tabla, pero sin que me devuelva más de 1 registro con el mismo ci.
Saludos, espero que me entiendan
Efectivamente, el group by es lo que hace, te agrupa los registros y de ahí partes para extraer las repeticiones o valores que desees...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas