Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [mysql] usare degli if in una vista

    Ho una tabella dove c'è un campo "id" e un campo "percentuale" che contiene dei numeri da 0 a 100

    è possibile costruire una vista che, oltre ai 2 campi citati, tiri fuori un terzo campo "descrizione" che con degli if (ho visto che in sql server si possono usare) faccia qualcosa del genere:


    if (percentuale <20)
    descrizione="scarso";
    else if (20<percentuale <60)
    descrizione="discreto";
    ecc.ecc.

    si può anche in mysql usare gli if?

    grazie

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    prova così
    select id,percentuale,
    case
    when percentuale < 20 then 'scarso'
    when percentuale BETWEEN 20 and 60 then 'discreto'
    else 'ottimo'
    end as descrizione
    from tabella

  3. #3


    non mi pare funzioni (cmq grazie)

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    che errore ti restituisce?

  5. #5

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Prazision
    #SQL 1064
    prova a postare la query. io l'ho provata su una mia tabella e funziona.

  7. #7
    la tabella:

    DROP TABLE IF EXISTS `user_match_profile`;
    CREATE TABLE `user_match_profile` (
    `ID_User` int(11) NOT NULL,
    `ID_Std_Profile` int(11) NOT NULL,
    `Percentage_Matching` int(11) NOT NULL,
    PRIMARY KEY (`ID_User`,`ID_Std_Profile`),
    KEY `ID_Std_Profile` (`ID_Std_Profile`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    la vista:

    select ID_User, ID_Std_Profile, Percentage_Matching
    case
    when Percentage_Matching < 20 then 'scarso'
    when Percentage_Matching BETWEEN 20 and 60 then 'discreto'
    else 'ottimo'
    end
    as descrizione
    from user_match_profile

    grazie mille

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    aggiungi la virgola in questa riga
    select ID_User, ID_Std_Profile, Percentage_Matching,

  9. #9
    grazie (sono un idiota)

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Prazision
    grazie (sono un idiota)
    anche a me oggi il case ha fatto penare.
    prego.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.