giusto per disperazione l'ho conclusa così

.....WHERE tpd.azienda = 1 AND
(
(tpt.mese = "09" AND tpt.anno = "2010")
OR NOT EXISTS
(SELECT d.id FROM jos_turnipersonaledipendenti as d
LEFT JOIN jos_turnipersonaleturnom as t ON d.id = t.dipendente
WHERE tpt.mese = "09" AND tpt.anno = "2010"
GROUP BY t.dipendente)
)
in questo modo estraggo i record corrispondendi (dipendenti con tanto di turno) del mese richiesto
con il secondo filtro estraggo tutti i record presenti per la data non richiesta raggruppandoli per id_dipenente così non ho doppioni dei dipendenti.
Cioè praticamente mi etrae tutto... potevo anche non mettere il filtro.
Poi con php faccio il controllo sulla data.
Sarà una boiata ma sono con l'acqua alla gola