Originariamente inviato da serialkiller
Quello che devo fare è estrarre da una data tabella tutti i record che abbiano come id_personale un determinato id e che i due campi data_start e data_end comprendano una determinata data, se entrambe le condizioni sono soddisfatte allora mi ritorna l'id del record.

Il fatto è che non trovando altro modo, eseguo prima una query su un'altra tabella dove estraggo gli id_personale e la data abbinata, li metto in due array in modo da avere corrispondenza id=>data, faccio un ciclo e dinamicamente mi creo tutti gli OR, questo perchè devo controllare, prendendo l'esempio precedente, se id_personale = 19 con data 2010-06-17 soddisfi quanto prima, ma anche se id_personale = 33 con data 2010-06-17 soddisfi i criteri, nel caso che entrambi siano soddisfatti avro' due id che rappresentano i record da estrarre dalla tabella.

Non so se mi sono spiegato
se ho capito bene dovresti fare qualcosa di simile:

codice:
where id_personale IN( 19, 33)
and
'2010-06-17' BETWEEN data_start AND data_end