Newsgroup: it.comp.appl.access
Titolo: Condizione exists in query e problemi con record singoli......

Salve a tutti,
ho una tabella costruita con A2k dove inserisco gli orari di una scuola e
sto cercando di trovare attraverso l'interrogazione del db gli orari che si
sovrappongono in una solita aula.
Ho usato la query seguente
select * from orari as t1
where exists ( select 'x' from orari as t2
where t1.aula=t2.aula and ((t1.oreinizio >= t2.oreinizio and t1.oreinizio <=
t2.orefine)
or (t1.orefine >= t2.oreinizio and t1.orefine <= t2.orefine) ) )
che mi visualizza correttamente le intersezioni di orario ma mi crea un
problema:
la condizione exists fa si che venga visualizzato ALMENO un record che
soddisfa la query ma questo fa sě
che vi sia anche la visualizzazione di record singoli (perchč la query
controlla i record singolarmente e nel caso di un record i cui valori
rientrano nel caso "="  li visualizza cmq pur non essendoci nessun orario
che si interseca) per cosě dire "vacanti".
Esiste un modo per far sě che la parola chiave EXISTS visualizzi i record
sovrapposti nel caso questi siano 2 o piů di 2?
Sarebbe la soluzione ideale per eliminare il problema dei duplicati!
Grazie per tutti i consigli che potrete darmi (anche per soluzioni diverse
da quella da me pensata),
Alex3man

 wrote in message
news:KDED7.18863$74.5...@news2.tin.it...


Innanzi tutto grazie Alessandro per la risposta,
ho ricontrollato un paio di cosette ma funziona,
il problema che si pone ora č la presenza di record ridondanti , che č
rompiscatole soprattutto nel caso di 3 o piů orari che si intersecano, in
quanto il numero delle combinazioni che ne risulata diventa poco gestibile
soprattutto in relazione ad una possibile trasposizione in un report della
query.
Nel caso concreto
se io ho A B C che si intersecano
vedo
T1.ID
 
T2.ID
A      ---      B
A      ---      C
B      ---      A
B      ---      C
C      ---      A
C      ---      B
 il che rompe un po'.
Sto cercando eventuali soluzioni a come limitare alla visualizzazione di
A
B
C
ma non mi sembra di cavarne niente, se per caso tu od altri sul ng  ha in
mente qualche soluzione sono bene accetti tutti i suggerimenti.
Molte grazie,
alex3man

 wrote in message
news:yOWD7.900$zu5....@news1.tin.it...


 Credo che tu debba aggiungere il riferimento alla chiave primaria della
Credo che tu debba imparare a scrivere correttamente DOPO il quoting!!!
Antonio

 ha scritto nel messaggio
news:aF_D7.18507$7A4.1...@news.infostrada.it...

Ciao Alessandro,
grazie per la solerte risposta , ho provato a fare come dicevi ma perdevo le
informazioni nel caso che i valori sovrapposti fossero meno di 3 ,
ho risolto cosě:
SELECT DISTINCT T1.Id, T1.oreinizio, T1.orefine
in questo modo mi visualizza tutti i 
T1.ID
 in condizione DISTINCT (quindi
visualizzati una volta sola).
Moltissime grazie cmq perchč senza la tua risposta non sarei potuto arrivare
ad una
soluzione che mi pare funzionare in maniera corretta (correggimi se
sbaglio).
Ciao
P.s Antonio Biso ha ragione, magari č un po' crudo quando espone la
questione ma in questo ng  č ..... vivamente sconsigliato postare dopo il
quoting (mentre su altri no....) :)
grazie ancora per la risposta
ciao
alex3man

 quoting (mentre su altri no....) :)
Crudo?... diretto, direi...
Antonio

 Antonio
Mi sembra effettivamente il termine più corretto ;-)
e se esistono delle norme (di lex o di buona convivenza )
vanno rispettate, salvo magari non esserne a conoscenza.
E' cmq da amirare (e la mia voleva essere una considerazione amichevole
e spero che tu l'abbia presa in tal senso) chi si preoccupa gratuitamente
di far sì che le cose viaggino bene,
Buona notte
Alex

 wrote in message
xS%D7.1928$zl4....@news2.tin.it...

No problem...
Antonio