Visualizzazione dei risultati da 1 a 10 su 14

Hybrid View

  1. #1
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Per le prime 3
    codice:
    SELECT Nome as A
    FROM Impiegato
    WHERE Dipart <> 'Amministrazione'
    UNION all
    SELECT Cognome as A
    FROM Impiegato
    WHERE Dipart <> 'Amministrazione'
    Per la 4 prova a mettere uno spazio tra ALL e <>
    codice:
    SELECT NomeDipartimento
    FROM Dipartimento
    WHERE NomeDipartimento <> all (SELECT Dipart
                      FROM Impiegato
                      WHERE Cognome = 'Rossi')  
    

  2. #2
    Quote Originariamente inviata da URANIO Visualizza il messaggio
    Per le prime 3
    codice:
    SELECT Nome as A
    FROM Impiegato
    WHERE Dipart <> 'Amministrazione'
    UNION all
    SELECT Cognome as A
    FROM Impiegato
    WHERE Dipart <> 'Amministrazione'
    Stesso identico risultato, ovvero mancano i cognomi degli impiegati.
    1.jpg

    Per la 4 prova a mettere uno spazio tra ALL e <>
    codice:
    SELECT NomeDipartimento
    FROM Dipartimento
    WHERE NomeDipartimento <> all (SELECT Dipart
                      FROM Impiegato
                      WHERE Cognome = 'Rossi')  
    
    Stesso errore di prima.
    2.jpg

    Ti allego gli screen così potrai capire meglio cosa mi spunta.
    Grazie mille.

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,373
    Per la 4
    codice:
    SELECT NomeDipartimento
    FROM Dipartimento
    WHERE NomeDipartimento NOT IN (SELECT Dipart
                      FROM Impiegato
                      WHERE Cognome = 'Rossi')  
    
    Ultima modifica di badaze; 29-04-2016 a 22:25
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,373
    Per la 1 : funziona benissimo come hai scritto. Usando i tuoi dati ottengo 10 righe (5 per i nomi e 5 per i cognomi)
    Se ti sembra vedere soli nomi è solo perche MySQL usa il nome del primo campo incontrato.
    Nome
    Carlo
    Carlo
    Franco
    Lorenzo
    Marco
    Bianchi
    Rossi
    Neri
    Gialli
    Franco

    Per la 2 e la 3 : MySQL non gestisce INTERSECT nè EXCEPT. Basta fate una ricerca in internet per accorgersene. Non c'è alcun link alla documentazione di tali comandi.

    Se ti esce qualcosa (ovvero ti dà i nomi) è solo perché INTERSECT o EXCEPT vengono riconosciuti come "alias" della tabella. Per convincertene prova questo :

    codice:
    SELECT Nome
    FROM Impiegato
    vegetablu 
    SELECT Cognome
    FROM Impiegato
    Se clicchi sul link "Spiegare SQL" (non so se sia davvero il nome in quanto ho phpmyadmin in Francese) vedrai che c'è un errore #1064.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Per la 1 : funziona benissimo come hai scritto. Usando i tuoi dati ottengo 10 righe (5 per i nomi e 5 per i cognomi)
    Se ti sembra vedere soli nomi è solo perche MySQL usa il nome del primo campo incontrato.
    Nome
    Carlo
    Carlo
    Franco
    Lorenzo
    Marco
    Bianchi
    Rossi
    Neri
    Gialli
    Franco

    Per la 2 e la 3 : MySQL non gestisce INTERSECT nè EXCEPT. Basta fate una ricerca in internet per accorgersene. Non c'è alcun link alla documentazione di tali comandi.

    Se ti esce qualcosa (ovvero ti dà i nomi) è solo perché INTERSECT o EXCEPT vengono riconosciuti come "alias" della tabella. Per convincertene prova questo :

    codice:
    SELECT Nome
    FROM Impiegato
    vegetablu 
    SELECT Cognome
    FROM Impiegato
    Se clicchi sul link "Spiegare SQL" (non so se sia davvero il nome in quanto ho phpmyadmin in Francese) vedrai che c'è un errore #1064.

    Non capisco il perchè andare a far studiare queste due interrogazioni di tipo insiemistico e fare pure gli esempi sul libro che ho citato nei primi post.
    Boh
    PS: come potrei fare per poter visualizzare anche i cognomi sul mio? Perchè io ne visualizzo solo 5 di cui sono solo nomi. Il nome dell'attributo non mi interessa. Mi serve visualizzare tutte e 10 righe.
    In pratica è la parola chiave ALL che non funziona.
    Grazie, gentilissimo
    Ultima modifica di vegetablu; 30-04-2016 a 11:05

  6. #6
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Per la 4
    codice:
    SELECT NomeDipartimento
    FROM Dipartimento
    WHERE NomeDipartimento NOT IN (SELECT Dipart
                      FROM Impiegato
                      WHERE Cognome = 'Rossi')  
    
    Con NOT IN funziona benissimo, ma l'esercizio mi richiede di utilizzare <> all e all.
    Come mai non mi funziona secondo te? A te funziona con <> all e all ??

    Grazie

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.