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

    [PHP - MySQL] Aggiungere progressivo ad una query risultato di query

    Ho in php la seguente stringa-query $f conseguenza di un'altra query $e

    $f="SELECT
    e.E_ZONA AS F_ZONA,
    e.E_SERIE AS F_SERIE
    FROM (".$e.") AS e
    GROUP BY CONCAT(e.E_ZONA,e.E_SERIE) ";


    eseguendo la query $f il risultato, GIUSTO, è quello seguente:


    F_ZONA- F_SERIE
    Valdera- 2
    Valdera- 3
    Cuoio- 2
    Empolese- 1
    Empolese- 2
    Empolese- 4


    Vorrei aggiungere NELLA QUERY STESSA un progressivo che restituisca cioè:


    F_ZONA- F_SERIE- PROGRESSIVO
    Valdera- 2- 1
    Valdera- 3- 2
    Cuoio- 2- 3
    Empolese- 1- 4
    Empolese- 2- 5
    Empolese- 4- 6

    una cosa tipo:

    ……..
    e.E_SERIE AS F_SERIE,
    (SELECT Count(*) + 1 FROM (".$e.") WHERE ………) AS PROGRESSIVO
    FROM (".$e.") AS e

    ……..

    ma proprio non riesco
    Prima o poi anch'io vi insegnerò qualcosa

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    devi usare una variabile, tipo questo esempio
    codice:
    set @row_num = 0; 
    SELECT id,serie,zona, @row_num := @row_num + 1 as progressivo FROM tab [tutto il resto della query];

  3. #3
    Forse ho scritto uno sfondone ma se intendi ciò che ho scritto di seguito non funziona:

    $g="set @row_num = 0; SELECT serie,zona, @row_num := @row_num + 1 as progressivo FROM (".$f.") AS f ";
    Prima o poi anch'io vi insegnerò qualcosa

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Prima fai la query per il set
    Poi un'altra per la select
    Guarda che la select che ti ho scritto io è un esempio, metti i nomi giusti dei campi

  5. #5
    Quote Originariamente inviata da clasku Visualizza il messaggio
    Guarda che la select che ti ho scritto io è un esempio, metti i nomi giusti dei campi
    CERTO, li avevo cambiati per semplificare la comprensione a chi legge.


    Immagino tu intenda questo, e sembra anche funzionare, GRAZIE!!!

    dbquery("set @row_num = 0;");
    $g="SELECT serie,zona, @row_num := @row_num + 1 as progressivo FROM (".$f.") AS f ";
    $reF=dbquery($g);
    if (dbrows($reF)) {
    while($daF=dbarray($reF)) {
    echo $daF['zona'];
    echo ' - ';
    echo $daF['serie'];
    echo ' - ';
    echo $daF['progressivo'];
    echo '<br>';
    }
    Prima o poi anch'io vi insegnerò qualcosa

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.