SELECT DISTINCT a.* FROM registro r JOIN anagrafica a ON a.id_anagrafica = r.id_anagrafica WHERE r.id_cooperativa = $id_coop AND r.data_op BETWEEN '$data_inizio' AND '$data_fine'
AND a.citta_dit = '$citta'
AND a.id_attivita = $attivita

Ovviamente le due ultime condizioni rimangono legate ai casi che hai previsto