Visualizzazione dei risultati da 1 a 3 su 3

Discussione: query sql

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171

    query sql

    ho questa query,
    funziona ma se su nella colonna recuperi ho null, non effettua la differenza,
    dove sbaglio?

    SELECT DISTINCT
    dbo.ritardi.codice_fiscale, dbo.ritardi.cognome, dbo.ritardi.nome, SUM(dbo.ritardi.ritardo) AS TOT_RITARDI,
    SUM(dbo.recuperi.recupero) AS TOT_RECUPERI, SUM(dbo.ritardi.ritardo - dbo.recuperi.recupero) AS DIFF
    FROM dbo.ritardi LEFT OUTER JOIN
    dbo.recuperi ON dbo.ritardi.codice_fiscale = dbo.recuperi.codice_fiscale
    GROUP BY dbo.ritardi.codice_fiscale, dbo.ritardi.cognome, dbo.ritardi.nome
    ORDER BY dbo.ritardi.cognome

  2. #2
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    :master:

    Immagino tu stia parlando della TABELLA recuperi e della COLONNA recupero. O sbaglio ? O forse per tutte le colonne della tabella recuperi (quindi anche ritardo, etc)

    In ogni caso, il NULL è un "non valore" che non può venire sommato, sottratto, etc

    Puoi usare la funzione ISNULL(colonna da controllare, espressione da restituire) in modo che quando il valore è NULL ti venga restituito, per esempio 0

    Qualcosa del tipo

    SELECT DISTINCT
    dbo.ritardi.codice_fiscale, dbo.ritardi.cognome, dbo.ritardi.nome, SUM(dbo.ritardi.ritardo) AS TOT_RITARDI,
    SUM(ISNULL(dbo.recuperi.recupero,0)) AS TOT_RECUPERI, SUM(ISNULL(dbo.ritardi.ritardo,0) - ISNULL(dbo.recuperi.recupero,0)) AS DIFF
    FROM dbo.ritardi LEFT OUTER JOIN
    dbo.recuperi ON dbo.ritardi.codice_fiscale = dbo.recuperi.codice_fiscale
    GROUP BY dbo.ritardi.codice_fiscale, dbo.ritardi.cognome, dbo.ritardi.nome
    ORDER BY dbo.ritardi.cognome

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    grazie,
    cosi funziona.

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.