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

Duda consulta

Estas en el tema de Duda consulta en el foro de Bases de Datos General en Foros del Web. A ver, supongo que es una pregunta tonta, pero esty bastante desentrenado con SQL. Tengo una tabla (CONTESTADAS) con: id_encuesta DNI 1 123 2 555 ...
  #1 (permalink)  
Antiguo 03/11/2009, 13:21
 
Fecha de Ingreso: noviembre-2009
Mensajes: 4
Antigüedad: 15 años
Puntos: 0
Duda consulta

A ver, supongo que es una pregunta tonta, pero esty bastante desentrenado con SQL.


Tengo una tabla (CONTESTADAS) con:

id_encuesta DNI
1 123
2 555
1 555
4 654

Quiero una consulta que me devuelva, dado un DNI, las encuestas que no ha contestado.

en el caso del DNI 123...que me devuelva 2 y 4. Gracias de antemano.
  #2 (permalink)  
Antiguo 03/11/2009, 13:33
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta: Duda consulta

Bueno segun mi criterio deberrias de tener un tabla de encuentas:

ENCUESTA
  • id
  • titulo
  • otros_campos

una tabla de usuarios
  • id_usuario
  • nombre
  • otros_campos

ahora tambien tiene la tabla contestadas, donde estan los ID`s de los usuarios y las encuestas contestadas

ENTONCES EL QERY QUEDARIA ASI:

Código SQL:
Ver original
  1. SELECT e.*
  2.     FROM    encuestas e
  3.     WHERE e.id_encuenta NOT IN (SELECT  c.id_encuesta
  4.                                                     FROM contestadas c WHERE c.dni = 123)
  #3 (permalink)  
Antiguo 03/11/2009, 15:57
 
Fecha de Ingreso: noviembre-2009
Mensajes: 4
Antigüedad: 15 años
Puntos: 0
Respuesta: Duda consulta

Perfecto.... te estoy muy agradecido. Además has clavao el cómo tenía las tablas, no he tenido ni que renombrar apenas xD
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 14:38.