I've a very simple task. I thought I knew how to solve it but there's something I'm surely missing. I got film and scores for the film. In table "film" and "punteggio" (score). I want a join returning all the films and the votes expressed by the user(s). If the user did not vote I want a NULL. I only get films for which a vote was expressed. My query: SELECT f.id, f.titolo, p.voto FROM film_film f LEFT OUTER JOIN vota_punteggio p ON (f.id = p.film_id) WHERE (p.user_id = 2 OR p.user_id IS NULL) Can you help me understanding what is wrong? TIA sandro *:-) cinemino=# \d film_film Tabella "public.film_film" Colonna | Tipo | Modificatori -----------------+------------------------+-------------------------------------------------------- id | integer | not null default nextval('film_film_id_seq'::regclass) titolo | character varying(100) | not null regista | character varying(40) | url_iann | character varying(200) | url_altri | character varying(200) | anno | integer | image | character varying(100) | durata | integer | genere_id | integer | data_proiezione | date | proposto_da | integer | cinemino=# \d vota_punteggio Tabella "public.vota_punteggio" Colonna | Tipo | Modificatori ---------+---------+------------------------------------------------------------- id | integer | not null default nextval('vota_punteggio_id_seq'::regclass) voto | integer | not null user_id | integer | not null film_id | integer | not null -- Sandro Dentella *:-) e-mail: sandro@xxxxxxxx http://www.tksql.org TkSQL Home page - My GPL work