SELECT
  Anagrafe.Cognome,
  Anagrafe.Nome,
  Anagrafe.Sesso,
  Anagrafe.NData,
  Comuni.Nome AS ComuneNascita,
  case
    when Territori.Codice > 0 then Territori.Nome
    else ''
  end AS TerritorioNascita,
  Anagrafe.CodFis,
  ISNULL(RTRIM(LTRIM(Strade.Toponimo)), '') + ' ' + ISNULL(RTRIM(LTRIM(Strade.Nome)), '') + ', ' + ISNULL(RTRIM(LTRIM(Anagrafe.NumCiv)), '') + ISNULL(RTRIM(LTRIM(Anagrafe.Altro)), '') AS Indirizzo
FROM
  Anagrafe
  LEFT OUTER JOIN Comuni ON Anagrafe.NComune = Comuni.Codice
  LEFT OUTER JOIN Territori ON Comuni.Territorio = Territori.Codice
  LEFT OUTER JOIN Strade ON Anagrafe.Strada = Strade.Codice
WHERE
  Anagrafe.Tipo1 = 'R' AND
  Anagrafe.Tipo2 = 'A'
ORDER BY
  Anagrafe.Cognome,
  Anagrafe.Nome,
  Anagrafe.NData