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

    [SQL] Problema GROUP BY

    Salve a tutti. Ho un problema a dir poco angosciante con la clausola GROUP BY di SQL Server...

    Ecco la mia query:

    codice:
    SELECT     REGISTRAZIONE_GENERALE.num_registrazione, 
    			REGISTRAZIONE_GENERALE.data_registrazione, 
    			 CAUSALE.descrizione,
    			  SUM(REGISTRAZIONE_GENERALE_COMP.dare) AS Somma
    			  
    FROM         REGISTRAZIONE_GENERALE_COMP INNER JOIN
                          REGISTRAZIONE_GENERALE INNER JOIN
                          CAUSALE ON REGISTRAZIONE_GENERALE.idcausale = CAUSALE.id ON REGISTRAZIONE_GENERALE_COMP.id_reg = REGISTRAZIONE_GENERALE.id
    
    GROUP BY REGISTRAZIONE_GENERALE.num_registrazione
    ORDER BY CAUSALE.descrizione
    questo è lo schema: http://img837.imageshack.us/img837/868/schemar.png

    e l'errore che restituisce SQL Server:

    La colonna 'REGISTRAZIONE_GENERALE.num_registrazione' non è valida nell'elenco di selezione perché non è inclusa né in una funzione di aggregazione né nella clausola GROUP BY.

    potete aiutarmi? grazie!!!!!!!

  2. #2
    ciao, non so se e' questo il problema, pero' io inserirei REGISTRAZIONE_GENERALE.data_registrazione e CAUSALE.descrizione nella group by, in quanto questi valori devono essere visualizzati e non sommati o altro

  3. #3
    Ciao! Grazie della risposta

    Ci avevo già pensato, e così funziona, solo che mi raggruppa in base a data_registrazione e non va bene, perchè potrei avere più record registrati nella stessa data...

  4. #4

  5. #5
    se vuoi avere il totale delle registrazioni penso che allora devi fare 2 select (una per esporre i dati dei record ed un aper fare i totali con la group by), pero' considera che i dati della data e della descrizione possono valere per un solo record e non per il totale che stai estraendo

  6. #6
    Funziona ragazzi!!!

    ecco la query:

    codice:
    SELECT     REGISTRAZIONE_GENERALE.num_registrazione, REGISTRAZIONE_GENERALE.data_registrazione, CAUSALE.descrizione, 
                          SUM(REGISTRAZIONE_GENERALE_COMP.dare) AS Somma
    FROM         REGISTRAZIONE_GENERALE_COMP INNER JOIN
                          REGISTRAZIONE_GENERALE INNER JOIN
                          CAUSALE ON REGISTRAZIONE_GENERALE.idcausale = CAUSALE.id ON REGISTRAZIONE_GENERALE_COMP.id_reg = REGISTRAZIONE_GENERALE.id
    GROUP BY CAUSALE.descrizione, REGISTRAZIONE_GENERALE.num_registrazione, REGISTRAZIONE_GENERALE.data_registrazione
    ORDER BY CAUSALE.descrizione

    PS: GRAZIE A TUTTI

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 © 2026 vBulletin Solutions, Inc. All rights reserved.