Non come risolvere questo problema anche se qualcosa mi dice che la soluzione è semplice:
Database SQL7
due tabelle
tabella1: "soggetto" con campi matricola, cognome, nome
tabella2: "libretto" con campi id_corso, matricola, data_iscrizione
NB: possono esistere piu' id_corso per lo stesso soggetto,
la relazione sta nel numero di matricola
devo eseguire : delete * from libretto where data_iscrizione < 31/12/2000
fin qui nessun problema
ma devo pero' sfoltire anche la tabella soggetto di tutti i record
che contengono un campo matricola che, una volta ripulita, non compaia piu' nella tabella libretto.
Tento un esempio nella speranza di essere piu' chiara
tabella libretto
id_corso | matricola | data_iscrizione
1 | 0001 | 01/01/1999
2 | 0002 | 01/01/1999
3 | 0003 | 01/01/1999
4 | 0001 | 01/01/2002
5 | 0001 | 01/01/2003
6 | 0001 | 01/01/2004
7 | 0002 | 01/01/2005
8 | 0004 | 01/01/2005
9 | 0005 | 01/01/2005
10 | 0005 | 01/01/2005
tabella soggetto
matricola | cognome | nome
0001 | rossi1 | mario1
0002 | rossi2 | mario2
0003 | rossi3 | mario3
0004 | rossi4 | mario4
0005 | rossi5 | mario5
dopo il delete * from libretto where data_iscrizione < 31/12/2000
la tabella libretto avrà solo i seguenti record
id_corso | matricola | data_iscrizione
4 | 0001 | 01/01/2002
5 | 0001 | 01/01/2003
6 | 0001 | 01/01/2004
7 | 0002 | 01/01/2005
8 | 0004 | 01/01/2005
9 | 0005 | 01/01/2005
10 | 0005 | 01/01/2005
a questo punto io dovrei dare una istruzione (e qui mi si bloccano le meningi) che immagino comprenda "not exist"
che darà come risultato nela tabella soggetto:
tabella soggetto
matricola | cognome | nome
0001 | rossi1 | mario1
0002 | rossi2 | mario2
0004 | rossi4 | mario4
0005 | rossi5 | mario5
da cui dovrebbe sparire solo rossi3 e quindi la matricola 3
che è l'unica a non avere iscrizioni posteriori allo 01/01/2001
qualcuno mi aiuta ?![]()
ma vi prego abbiate pietà se la domanda è troppo sciocca.![]()
Grazie a chi vorrà rispondermi