dunque ho due tabelle
codice:
CREATE TABLE IF NOT EXISTS `#__turnipersonaledipendenti` (
`id` int(11) unsigned NOT NULL auto_increment,
`dipendente_nome_cognome` varchar(255) NOT NULL default '',
`dipendente_orario_contrattuale_settimanale` int(11) unsigned NOT NULL default '0',
`checked_out` int(11) NOT NULL default '0',
`checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
`azienda` int(11) unsigned NOT NULL default '0',
PRIMARY KEY  (`id`),
FOREIGN KEY (azienda) REFERENCES `#__turnipersonaleaziende`(id) ON DELETE CASCADE
) ENGINE=INNODB CHARACTER SET `utf8` COLLATE `utf8_general_ci`;

CREATE TABLE IF NOT EXISTS `#__turnipersonaleturnom` (
`id` int(11) unsigned NOT NULL auto_increment,
`turnom_1settimana_times`  time NULL default NULL,
`turnom_1settimana_endtimes`  time NULL default NULL,
`turnom_2settimana_times`  time NULL default NULL,
`turnom_2settimana_endtimes`  time NULL default NULL,
`turnom_3settimana_times`  time NULL default NULL,
`turnom_3settimana_endtimes`  time NULL default NULL,
`turnom_4settimana_times`  time NULL default NULL,
`turnom_4settimana_endtimes`  time NULL default NULL,
`turnom_5settimana_times`  time NULL default NULL,
`turnom_5settimana_endtimes`  time NULL default NULL,
`mese` char (2) NOT NULL default '',
`anno` year(4) NOT NULL default '0000',
`checked_out` int(11) NOT NULL default '0',
`checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
`dipendente` int(11) unsigned NOT NULL default '0',
PRIMARY KEY  (`id`),
UNIQUE (`mese` ,`anno` ,`dipendente`)
FOREIGN KEY (dipendente) REFERENCES `#__turnipersonaledipendenti`(id) ON DELETE CASCADE
) ENGINE=INNODB CHARACTER SET `utf8` COLLATE `utf8_general_ci`;

Devo estrarre tutti i dipendenti indipendentemente dal fatto che per loro sia stata fatto un turno o meno.

Quando faccio l'estrazione indico sempre un mese e un anno

Se faccio una query simile:

codice:
SELECT tpt.*,tpd.dipendente_nome_cognome,tpd.dipendente_orario_contrattuale_settimanale,tpd.id as iddipendente 
FROM #__turnipersonaledipendenti as tpd 
LEFT JOIN #__turnipersonaleturnom as tpt ON tpt.dipendente = tpd.id 
WHERE tpd.azienda = 1 AND 
tpt.mese IS NULL ||  tpt.mese = "1" AND 
tpt.anno IS NULL || tpt.anno = "2010"


Avrò tutti i dipendenti solo nel caso nessun dipendente sia stato inserito nella tabella turni (quindi siano tutti null) oppure nel caso rientrino nel mese e nell'anno o siano null.
Quindi se un dipendente è già presente con un turno per il mese non richiesto nn lo estrae

non so come impostare il where