Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Problema SELECT + SUM

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169

    Problema SELECT + SUM

    Ciao a tutti,

    Ho questa Select che è perfetta, solo che quando aggiungo la funziona SUM non mi fà più vedere i record da mè richiesti ma solo uno, come mai dove sbaglio ?


    Codice PHP:
    SELECT * ,DATE_FORMAT(ClientiPagamenti.DataScadenza,'%d/%m/%Y') as DataScadenzaR ,SUM(ClientiPagamenti.Importo) AS ImportoRicevuto FROM Clienti JOIN ClientiPagamenti ON Clienti.user_id=ClientiPagamenti.IDCliente ecc........ 
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    posta meglio su più righe e poi mostra le due varianti con e senza SUM

    nota: tieni conto ovviamente che SUM fa una "sintesi" di record (sommando i campi indicati)... quindi solitamente è normale che da un elenco si ottenga un solo valore (tanti campi -> una somma)

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169
    con:


    Codice PHP:
    $sql="SELECT * ,DATE_FORMAT(ClientiPagamenti.DataScadenza,'%d/%m/%Y') as DataScadenzaR ,SUM(ClientiPagamenti.Importo) AS ImportoRicevuto
    FROM Clienti
    JOIN ClientiPagamenti
    ON Clienti.user_id=ClientiPagamenti.IDCliente
    WHERE EXTRACT(
    $param4 from ClientiPagamenti.DataScadenza) = '$param3$param2'
    AND Clienti.IDPartner=
    $param1 
    AND ClientiPagamenti.Importo<>99
    ORDER BY ClientiPagamenti.PagamentoRicevuto DESC, ClientiPagamenti.DataScadenza ASC, Clienti.RagioneSociale ASC"

    senza:
    Codice PHP:
    $sql="SELECT * ,DATE_FORMAT(ClientiPagamenti.DataScadenza,'%d/%m/%Y') as DataScadenzaR
    FROM Clienti
    JOIN ClientiPagamenti
    ON Clienti.user_id=ClientiPagamenti.IDCliente
    WHERE EXTRACT(
    $param4 from ClientiPagamenti.DataScadenza) = '$param3$param2'
    AND Clienti.IDPartner=
    $param1 
    AND ClientiPagamenti.Importo<>99
    ORDER BY ClientiPagamenti.PagamentoRicevuto DESC, ClientiPagamenti.DataScadenza ASC, Clienti.RagioneSociale ASC" 
    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169
    nessuno mi può aiutare ?

  5. #5
    Come dice eiyen SUM fa una somma dei valori del campo che tu gli passi, quindi è normale che ti appaia una sola riga. Puoi ottenere più risultati facendo uso del GROUP BY, ma ovviamente devi valutare se è il tuo caso.

    O fai una query separata, che tanto vedo che la somma dei valori non la utilizzi all'interno della query.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169
    Ho fatto una query separata alla fine.

    Grazie

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.