devo fare una query che mi tira fuori tutti i corsi che si accavallano alla mia data ed ora inizio e ora fine.
la query che sto provando dopo averal testata per bene, mi sono accorto che non funge:
Codice PHP:
SELECT codice_corso FROM scheda_corsi
WHERE
(data_inizio='2010-10-20 00:00:00' and codice_corso <> 'C01')
and (ora_inizio BETWEEN 1115 and 1215)
or ora_fine BETWEEN 1115 and 1215 order by codice_corso
"C01";"Corso - 1";"Sala 2";"2010-10-20 00:00:00";"1115";"2010-10-20 00:00:00";"1215";
"C02";"Corso - 2";"Sala 4";"2010-10-20 00:00:00";"1115";"2010-10-20 00:00:00";"1215"
"C03";"Corso - 3";"Sala 5";"2010-10-20 00:00:00";"1115";"2010-10-20 00:00:00";"1215";
"C04";"Corso - 4";"Sala 6";"2010-10-20 00:00:00";"1115";"2010-10-20 00:00:00";"1315";
"C05";"Corso - 5";"Sala 3";"2010-10-20 00:00:00";"1215";"2010-10-20 00:00:00";"1315";
Faccio un esempio:
se seleziono codice_corso C01 dalla tabella mi deve dare C02,C03,C04
invece con la query di sopra mi esco fuori tutti.
Funziona solo se faccio:
Codice PHP:
SELECT codice_corso FROM scheda_corsi
WHERE
(data_inizio='2010-10-20 00:00:00' and codice_corso <> 'C01')
and (ora_inizio BETWEEN 1115 and 1214)
or ora_fine BETWEEN 1115 and 1214 order by codice_corso
cio9è vado a mettere un minuto prima all'ora fine.
ma cos' mi complico.. tutta la vita visto che poi lo dovrei fare da codice...
quindi deduco che la query che ho scritto è sbagliata... !!!
e chiedevo un vostro aiuto!
ciao
Giuseppe