Esercitazione 1.3: Definizione delle colonne dei risultati
Prima di iniziare, è necessario completare Esercitazione 1.2:
Creazione di un'istruzione SELECT con tabelle
In questa esercitazione, verranno specificate le colonne da visualizzare nei risultati della query.
L'impiegato di un negozio deve visualizzare il nome del cliente, il titolo di ciascun video noleggiato dal cliente e il giorno della settimana in cui scade il noleggio di ciascun video.
Verranno incluse due delle colonne e verrà aggiunta un'espressione CASE per la terza colonna dei risultati, quindi verrà assegnato un alias all'espressione della colonna CASE.
Selezione delle colonne per l'insieme di colonne dei risultati
All'insieme di colonne dei risultati relative al nome del cliente e al titolo del video verranno aggiunte le seguenti colonne:
- La colonna NAME nella tabella CUSTOMERS
- La colonna TITLE nella tabella VIDEOS
- Nel riquadro Tabelle, selezionare la casella di controllo NAME nella tabella C (CUSTOMER).
- Nella pagina Colonne del riquadro Progettazione, fare doppio clic sulla prima cella vuota della colonna Colonna, fare clic su V.TITLE nell'elenco, quindi premere Invio.
Le colonne vengono aggiunte al codice di origine SQL nel riquadro Origine SQL.
Aggiunta di un'espressione CASE all'insieme di colonne dei risultati
Nella terza colonna relativa all'insieme di risultati della query verrà visualizzato il risultato di un'espressione di colonna.
Nel database del negozio di video viene memorizzata la data di scadenza del noleggio del video in formato DATE. Il formato DATE deve essere convertito in una stringa di caratteri contenente il giorno di scadenza del noleggio del video.
Una funzione del database consente di ricavare un numero intero dalla data corrispondente al giorno della settimana.
L'espressione CASE verrà utilizzata per valutare la funzione e convertire i numeri interi restituiti dalla funzione in stringhe di caratteri per ciascun giorno della settimana (ad esempio, nel risultato della query 1 verrà modificato in "Domenica").
Per generare l'espressione CASE, effettuare le seguenti attività:
- Aprire la procedura guidata Generatore di espressioni.
- Creare un'espressione CASE semplice.
- Aggiungere la funzione DAYOFWEEK per la valutazione mediante l'espressione CASE.
La funzione DAYOFWEEK consente di visualizzare il giorno della settimana dalla colonna DATE.
Questa funzione restituisce un numero intero che corrisponde al giorno della settimana.
- Aggiungere le proposizioni WHEN per produrre i risultati per l'espressione CASE.
- Nella pagina Colonne del riquadro Progettazione, fare doppio clic sulla terza cella della colonna Colonna (la prima cella vuota), fare clic su Crea espressione alla fine dell'elenco, quindi premere Invio.
Si apre la procedura guidata Generatore di espressioni.
- Creare un'espressione CASE di tipo semplice.
- Nella pagina Generatore di espressioni, fare clic su CASE - tipo semplice o di ricerca, quindi fare clic su Avanti.
- Nella pagina Opzioni CASE, fare clic su Proposizione When semplice, quindi fare clic su Avanti.
- Aggiungere la funzione DAYOFWEEK:
- Nella pagina Case di tipo semplice, nell'elenco CASE, fare clic su Genera espressione funzione. Si apre la procedura guidata Generatore espressione funzione.
- Nell'elenco Selezionare la categoria di una funzione, fare clic su Data e ora.
- Nell'elenco Selezionare una funzione, fare clic su DAYOFWEEK.
- Nell'elenco Selezionare la firma di una funzione, fare clic su DAYOFWEEK(DATE) --> INTEGER.
La firma della funzione indica che la funzione richiede un argomento.
- Nella colonna Valore della tabella di argomenti, fare clic sulla cella, fare clic su R.DATE nell'elenco, quindi premere Invio.
La sintassi dell'espressione di funzione è DAYOFWEEK(R.DATE),
come indicato nella sezione 5 della seguente illustrazione:

- Fare clic su Fine per riprendere la costruzione dell'espressione CASE.
La nuova funzione viene ora visualizzata nell'elenco CASE nella parte superiore della pagina Case di tipo semplice.
- Aggiungere sette proposizioni WHEN all'espressione CASE (una per ciascun giorno della settimana) per convertire il numero intero restituito dalla funzione DAYOFWEEK in stringhe di caratteri.
Nella tabella di seguito riportata viene visualizzata la stringa di caratteri necessaria per ciascun valore restituito dalla funzione DAYOFWEEK:
valore DAYOFWEEK
| Stringa di caratteri risultante
|
1 |
'Domenica' |
2 |
'Lunedì' |
3 |
'Martedì' |
4 |
'Mercoledì' |
5 |
'Giovedì' |
6 |
'Venerdì' |
7 |
'Sabato' |
- Nella tabella, fare doppio clic sulla cella vuota nella colonna Espressione a destra di WHEN, quindi immettere il numero intero 1.
Quando si immettono dati in questa tabella e nelle altre tabelle associate al generatore SQL, affinché il dato venga applicato, dopo aver immesso un valore in una cella, è necessario premere Invio o passare ad un'altra cella.
- Fare doppio clic sulla cella vuota nella colonna Risultato espressione a destra di THEN, quindi immettere la stringa 'Domenica'.
- Per ciascuno dei sei giorni restanti della settimana, fare clic su Aggiungi proposizione WHEN, quindi ripetere i passi 4a e 4b in modo che la tabella risulti simile all'illustrazione in basso:

- Fare clic su Fine per chiudere la procedura guidata Generatore di espressioni.
L'espressione CASE completa viene visualizzata nell'elenco delle espressioni di colonna della pagina Colonne del riquadro Progettazione e viene inoltre visualizzata nell'origine dell'istruzione SQL.
Aggiunta di un alias di colonna
Nell'istruzione SQL customerRentals, verrà aggiunto un alias di colonna per l'espressione di colonna CASE. Verrà utilizzata la pagina Colonne del riquadro Progettazione del generatore SQL.
- Fare clic sulla scheda Colonne nel riquadro Progettazione.
- Fare clic sulla cella della colonna Alias accanto all'espressione di colonna CASE, quindi immettere DUEDAY.
Nel riquadro Origine SQL, l'alias di colonna AS DUEDAY viene visualizzato dopo l'espressione CASE.
Quando viene eseguita la query, questo alias viene visualizzato come il titolo della colonna nella tabella dei risultati.
La pagina Colonne risulta ora simile a quanto segue:

Si è ora pronti a iniziare Esercitazione 1.4:
Aggiunta di unioni, di una condizione di query e di una proposizione GROUP BY