bien, tengo un proyecto en el cual se sucitó un problema que no había previsto. la cosa es simple; hay dos tablas (más abajo están), una tiene el identificador de un dato y el dato en sí; la otra es la de los votos y tiene el identificador hacia el dato de la primera tabla y el voto de la persona que lo hizo (también tiene la fecha, pero esto no importa)
la estructura es así:
Código :
Tabla Facts id_fact | dato --------|------------ 001 | bla bla bla 002 | dla dla dla 003 | lorem ipsum Tabla Votos voto_de | voto_idfact --------|----------- user1 | 001 user1 | 002
lo que necesito es una consulta que me devuelva los registros que aún NO han sido votados por la persona (en este caso, el 003), ya que lo tenía en forma aleatoria pero cuando ya son muchos registros (digamos, 50) y la persona ha votado una buena parte (digamos, 48), los que aún no han sido votados tardarán mucho en aparecer si sólo se le dejara a la suerte.
más o menos necesito algo así: (esto es un subquery pero por alguna extraña razón siempre me da error de sintaxis)
Código :
SELECT * FROM tabl_facts WHERE id_fact NOT IN (SELECT voto_idfact FROM tabl_votos WHERE voto_de = 'user1')
un poco de luz?
gracias