Visualizzazione risultati 1 fino 2 di 2

Discussione: selezione trasversale in mysql

  1. #1
    Guest

    Predefinito selezione trasversale in mysql

    ciao a tutti, scrivo qui per sapere se esiste un comando che mi consenta di selezionare dalla tabella di mysql il valore minore tra un determinato numero di colonne con where una sola riga, ossia:

    colonne tabella:
    id
    nome
    email
    valore1
    valore2
    valore3
    valore4

    ho bisogno di selezionare il minore tra i valori(1-2-3-4) where nome = $nome (già dato)

    una sorta di "SELECT Min(tra valore1, valore2, valore3, valore4) FROM tabella where nome= '$nome';

    questo pezzo fra parentesi come lo posso mettere? Sarebbe aggirabile la cosa con una serie di if ma la cosa diventa lunga all'inverosimile visto che i valori sono molti più di 4!

    Grazie mille

  2. #2
    Guest

    Predefinito

    Per ora mi viene in mente solo questa soluzione, però è un pò macchinosa, si potrebbe fare sicuramente meglio.. vedi se con google riesci a trovare qualcosa.
    Codice:
    CREATE VIEW tab(valori) as 
               SELECT valore1 FROM tabella WHERE nome = '$nome' 
    UNION SELECT valore2 FROM tabella WHERE nome = '$nome' 
    UNION SELECT valore3 FROM tabella WHERE nome = '$nome' 
    UNION SELECT valore4 FROM tabella WHERE nome = '$nome' ;
    
    SELECT min(valori) FROM tab;
    
    DROP VIEW tab;

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •