Visualizzazione risultati 1 fino 3 di 3

Discussione: [MySQL] Conteggio campi non vuoti

  1. #1
    Guest

    Predefinito [MySQL] Conteggio campi non vuoti

    Buongiorno,

    ogni tanto mi tocca venire a chiedere qualcosa :D

    Dunque, ho una tabella sul DB con (tra gli altri) 5 campi (chiamiamoli A, B, C, D, E).
    Questi campi o conterranno del testo o saranno vuoti (vuoti non NULL).

    Adesso, a me serve, per ogni record sapere quanti di questi campi non sono vuoti.

    quindi, qualcosa del genere

    Codice:
         A   B   C   D   E
    1.   X   X                  --> 2
    2.   X                      --> 1
    3.   X   X   X              --> 3
    4.   X   X   X   X   X      --> 5
    5.                          --> 0
    Come potrei fare?

    Grazie

  2. #2
    Guest

    Predefinito

    Codice PHP:
    $query="SELECT ID,A,B,C,D,E FROM tua_tab";
    $result=mysql_query($query);
    $num=0; //contatore campi non nulli
    while($row=mysql_fetch_array($result,MYSQL_ASSOC)) {
    $id=$row["ID"];
    $a=$row["A"];
    $b=$row["B"];
    $c=$row["C"];
    $d=$row["D"];
    $e=$row["E"];
    if(
    $a!="")
    $num++;
    if(
    $b!="")
    $num++;
    //e così per tutti gli altri
    //ti salvi $num e $id dove vuoi, ad esempio su un vettore o sul db
    $num=0;
    }
    Può andare?

  3. #3
    Guest

    Predefinito

    @richysCorner
    Scusa il ritardo nel rispondere. La mia richiesta nasce dalla necessità di risolvere con solo SQL e quindi senza passare per PHP.
    Grazie comunque.

    Ho risolto facendo

    Codice:
    SELECT 
       IF(campo1 !='', 1, 0) + 
       IF(campo2 !='', 1, 0) + 
       ...
    FROM tabella
    Spero possa essere utile anche a qualcun altro.

Regole di scrittura

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