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

    query con più COUNT()

    Salve a tutti,
    tramite una query estrapolo dei record da una tabella "campagne" che poi devo visualizzare....
    vorrei fare diversi count senza dover riutilizzare query separate... ad esempio:

    di una campagna devo sapere quanti ordini ho generato con una count, per la stessa campagna devo contare quante anagrafiche ho generato, per una campagna devo contare quante fatture ho generato...


    è possibile tramite un'unica query avere queste informazioni?
    o devo fare una query per estrapolare la campagna e poi farne altre 3 con i relativi count?
    Grazie

  2. #2

    Re: query con più COUNT()

    Originariamente inviato da scmatteo
    Salve a tutti,
    tramite una query estrapolo dei record da una tabella "campagne" che poi devo visualizzare....
    vorrei fare diversi count senza dover riutilizzare query separate... ad esempio:

    di una campagna devo sapere quanti ordini ho generato con una count, per la stessa campagna devo contare quante anagrafiche ho generato, per una campagna devo contare quante fatture ho generato...


    è possibile tramite un'unica query avere queste informazioni?
    o devo fare una query per estrapolare la campagna e poi farne altre 3 con i relativi count?
    Grazie
    Potresti provare con delle subquery, dipende da come è strutturata la tua query primaria.

  3. #3
    la query primaria è una semplice select senza cose strane...

    Codice PHP:
    SELECT NominativoNoteUsernamePWDIDProfiloAnagraficheFattureContatore FROM profilo WHERE IDProfilo<>2 ORDER BY `IDProfilo
    la tabella ordini, fatture, anagrafiche hanno tutte in comune IDPROFILO, quindi con un'unica query dovrei estrarre i singoli record della tabella profili, e con i count fare un conteggio nelle rispettive ordini, fatture, anagrafiche aventi il corrispettivo IDProfilo


    grazie

  4. #4
    Non so se ho capito bene..per esempio, hai un campo Fatture, ma anche una tabella fatture, ecc,ecc

    Se è così prova con una cosa del tipo...

    codice:
    SELECT
    profilo.Nominativo, 
    profilo.Note, 
    profilo.Username, 
    profilo.PWD, 
    profilo.IDProfilo, 
    profilo.Anagrafiche, 
    profilo.Fatture, 
    profilo.Contatore,
    (SELECT COUNT(ordini.id) FROM ordini WHERE ordini.IDProfilo<>2) AS TotOrdini,
    (SELECT COUNT(fatture.id) FROM fatture WHERE fatture.IDProfilo<>2) AS TotFatture,
    (SELECT COUNT(anagrafiche.id) FROM anagrafiche WHERE anagrafiche.IDProfilo<>2) AS TotAnagrafiche
    
    FROM profilo
    
    WHERE IDProfilo<>2 
    
    ORDER BY `IDProfilo
    Non l'ho testata e non è detto che abbia capito

  5. #5

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.