Io ho queste tre tabelle:

codice:
CREATE TABLE "aaa"
(
  id_a serial NOT NULL,
  testo_a text NOT NULL,
  id_b integer NOT NULL,
  CONSTRAINT aaa_pkey PRIMARY KEY (id_a),
  CONSTRAINT aaa_id_b_fkey FOREIGN KEY (id_b)
      REFERENCES bbb (id_b) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
)


CREATE TABLE bbb
(
  id_b serial NOT NULL,
  id_c integer NOT NULL,
  codfisc character varying(16) NOT NULL,
  testo_b text,
  CONSTRAINT bbb_pkey PRIMARY KEY (id_b),
  CONSTRAINT bbb_codfisc_fkey FOREIGN KEY (codfisc)
      REFERENCES utente (codfisc) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT bbb_id_c_fkey FOREIGN KEY (id_c)
      REFERENCES ccc (id_c) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
)


CREATE TABLE utente
(
  codfisc character varying(16) NOT NULL,
  mail character varying NOT NULL,
  CONSTRAINT utente_pkey PRIMARY KEY (codfisc),
)

La query che vorrei creare deve prendere tramite una Select: id_b,testo_b, testo_a,mail.

Il problema che non sempre c'è la corrispondenza nella tabella bbb della tabella aaa, e quindi non so come fare per ottenere cmq tutti i valori (quando non c'è corrispondenza il testo_a rimane un campo vuoto).

Help impazzisco!