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

    Aggiungere contatori nel risultato di una query

    Ho questo problema:

    ho la tabella ANAG con chiave univoca Codice:

    Codice
    Nome

    Un'altra VALORI con Codice non univoca:

    Codice
    Valore

    Vorrei fare una query che mi ritorni i campi

    Codice
    Nome
    Totale_valori (totale valori trovati con quel codice)
    Numero_valori (numero di record trovati con quel codice)

    Qualcuno sa aiutarmi?

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Puoi fare cosi

    [code]
    $query = "select a.codice, a.nome, sum(valore) "
    . "from tabella1 a, tabella2 b "
    . "where a.codice = b.codice";
    $result = mysql_query($query);
    [code]

    Il numero delle righe lo trovi dopo avere eseguito la query con
    $numeroRighe = mysql_num_rows($result);
    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

  3. #3
    Non funziona, manca un group by, almeno dice così:

    #1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da margherite
    Non funziona, manca un group by, almeno dice così:

    #1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause
    Vero me l'ero dimenticato !!!!


    Quindi : aggiungi -> group by a.codice, a.nome
    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
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    così è meglio .
    codice:
     
    $query = "select a.codice, a.nome, sum(valore),count(*) " 
    . "from tabella1 a, tabella2 b " 
    . "where a.codice = b.codice" 
    . "group by a.codice, a.nome";
    $result = mysql_query($query);

  6. #6
    Perfetto!

    E per avere anche quelli che hanno valore zero?
    E se volessi usare il count di 2 tabelle diverse?

    Grazie!

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    Originariamente inviato da margherite

    E se volessi usare il count di 2 tabelle diverse?

    Grazie!
    eh?
    per la prima prova,
    (non è testato )
    codice:
     
    $query = "select a.codice, a.nome, sum(valore),count(*) " 
    . "from tabella1 a left join tabella2 b " 
    . "on a.codice = b.codice" 
    . "group by a.codice, a.nome";
    $result = mysql_query($query);

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.