[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico] [volume] [parte]
Quando si interrogano simultaneamente più relazioni, può succedere che il risultato che si ottiene contenga degli attributi di relazioni differenti, ma con lo stesso nome, oppure potrebbe non essere abbastanza esplicito il suo contenuto. Nell'istruzione SELECT con cui si esegue l'interrogazione, è possibile dichiarare dei nomi alternativi agli attributi, secondo le modalità descritte in questo capitolo.
Si riprenda il file prova-interrogazione-movimenti-articoli.sql
e lo si modifichi in modo da avere il contenuto seguente:
|
Si controlli di avere modificato il file prova-interrogazione-movimenti-articoli.sql
in modo corretto, rispettando anche la punteggiatura; si controlli di avere salvato il file con il nome previsto, quindi si proceda con il comando seguente:
$
sqlite3 mag.db < prova-interrogazione-movimenti-articoli.sql
[Invio]
Si dovrebbe ottenere il listato seguente:
Data Articolo Causale ---------- -------------------------------------- ------------------- 2006-01-15 Dischetti da 9 cm 1440 Kibyte colorati Carico per acquisto 2006-01-16 Dischetti da 9 cm 1440 Kibyte colorati Scarico per vendita 2006-01-17 CD-R 52x Carico per acquisto 2006-01-18 CD-R 52x Scarico per vendita 2006-01-19 DVD+R 8x Carico per acquisto 2006-01-20 DVD+R 8x Scarico per vendita 2006-01-20 DVD+R 8x Reso a fornitore 2006-01-20 CD-R 52x Reso a fornitore 2006-01-21 DVD+RW 8x Carico per acquisto 2006-01-25 DVD+RW 8x Scarico per vendita |
Come si può osservare, l'attributo Descrizione della relazione Articoli appare con il nome Articolo, mentre l'attributo Descrizione della relazione Causali appare con il nome Causale.
Si prepari il file interrogazione-movimenti-causali-02.sql
, seguendo lo scheletro seguente, tenendo conto che si vuole ottenere l'elenco di tutte le tuple per le quali si possa stabilire un abbinamento in base al codice della causale. Precisamente, si vuole ottenere l'attributo Articolo dalla relazione Movimenti; l'attributo Descrizione dalla relazione Causali; l'attributo Data dalla relazione Movimenti. Inoltre, si vuole che l'attributo Descrizione della relazione Causali, appaia con il nome Causale.
|
Una volta completato e salvato il file interrogazione-movimenti-causali-02.sql
, se ne controlli il funzionamento con la base di dati:
$
sqlite3 mag.db < interrogazione-movimenti-causali-02.sql
[Invio]
Si dovrebbe ottenere il risultato seguente:
Articolo Causale Data ---------- ------------------- ---------- 2 Carico per acquisto 2006-01-15 2 Scarico per vendita 2006-01-16 102 Carico per acquisto 2006-01-17 102 Scarico per vendita 2006-01-18 401 Carico per acquisto 2006-01-19 401 Scarico per vendita 2006-01-20 401 Reso a fornitore 2006-01-20 102 Reso a fornitore 2006-01-20 601 Carico per acquisto 2006-01-21 601 Scarico per vendita 2006-01-25 |
Se il risultato è corretto, si proceda con la stampa:
$
sqlite3 mag.db < interrogazione-movimenti-causali-02.sql | lpr
[Invio]
Si consegni per la valutazione, la stampa ottenuta in questo modo, assieme alla stampa del file interrogazione-movimenti-causali-02.sql
.
Si prepari il file interrogazione-movimenti-causali-clienti-03.sql
, seguendo lo scheletro seguente, tenendo conto che si vuole ottenere l'elenco di tutte le tuple per le quali si possa stabilire un abbinamento in base al codice della causale e in base al codice del cliente. Precisamente, si vuole ottenere l'attributo Articolo dalla relazione Movimenti; l'attributo Descrizione dalla relazione Causali; l'attributo Data dalla relazione Movimenti; l'attributo RagioneSociale dalla relazione Clienti. L'attributo Descrizione della relazione Causali deve apparire con il nome Causale e l'attributo RagioneSociale della relazione Clienti deve apparire con il nome Cliente.
|
Una volta completato e salvato il file interrogazione-movimenti-causali-clienti-03.sql
, se ne controlli il funzionamento con la base di dati:
$
sqlite3 mag.db < interrogazione-movimenti-causali-clienti-03.sql
[Invio]
Si dovrebbe ottenere il risultato seguente:
Articolo Causale Data Cliente ---------- ------------------- ---------- -------------- 2 Scarico per vendita 2006-01-16 Filano Filani 102 Scarico per vendita 2006-01-18 Mevio Mevi 401 Scarico per vendita 2006-01-20 Martino Martin 601 Scarico per vendita 2006-01-25 Mevio Mevi |
Se il risultato è corretto, si proceda con la stampa:
$
sqlite3 mag.db < interrogazione-movimenti-causali-clienti-03.sql
\
\| lpr
[Invio]
Si consegni per la valutazione, la stampa ottenuta in questo modo, assieme alla stampa del file interrogazione-movimenti-causali-clienti-03.sql
.
Il file prova-interrogazione-movimenti-articoli.sql
non serve più e va cancellato.
Appunti di informatica libera 2006.07.01 --- Copyright © 2000-2006 Daniele Giacomini -- <daniele (ad) swlibero·org>
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome interrogazioni_simultanee_di_piu_relazioni_e_alias.htm
[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico]