Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    207

    Visualizzare le scadenze in sql

    Buongiorno, avrei bisogno di un vostro aiuto se possibile, ho un database in sql server dove c'è una data di fine valutazione e una data di fine valutazione +365 in pratica la fine valutazione + 1 anno, vorrei visualizzare solo le scadenze antecedenti al mese e anno attuali e quelle antecedenti al mese attuale.
    in pratica se ho una scadenza 01/02/2012 mi dovrebbe visualizzare la scadenza, se ho la scadenza 26/11/2013 non mi deve visualizzare nulla se invece la scadenza è 26/06/2013 mi deve visualizzare la scadenza perchè iol mese è quello corrente. è un po incasinata la spiegazione ma spero di aver reso l'idea.
    come posso fare?
    questo è il codice sqlserver ho fatto vari tentativi ma non riesco...
    Grazie per l'aiuto.

    codice:
    SELECT     IdNote, FineValut, FineValut + 365 AS Scadenza, IdReparto
    FROM         Note
    WHERE     (Visibile = 1) AND (IdReparto = 17)
    ORDER BY FineValut

  2. #2
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    1) Si capisce davvero poco di cosa tu voglia fare ed ottenere...
    2) Se nella tua condizione where non c'è un riferimento ad una data, come faccio a sapere che "il mese è quello corrente" ? mi aspetterei almeno un getdate() o qualcosa di simile da qualche parte...

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    207
    Hai ragione scusa, questo è quello giusto

    codice:
    SELECT     IdNote, FineValut, FineValut + 365 AS Scadenza, IdReparto
    FROM         Note
    WHERE     (Visibile = 1) AND (IdReparto = 17) AND (MONTH(FineValut) <= MONTH(GETDATE())) AND (YEAR(FineValut) = YEAR(GETDATE()))
    ORDER BY FineValut

  4. #4
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Cerca di spiegati meglio... nella descrizione usi la parola scadenza, nella tua tabella appare il campo "finevalut"...ed usi "scadenza" come alias del finevalut + 365...

    Quando dici "una scadenza 01/02/2012 mi dovrebbe visualizzare la scadenza" cosa intendi ? che il campo finevalut è 01/02/2011 ? (e scadenza è quindi un anno dopo ?)

    In questo caso ad esempio non hai mai che "YEAR(FineValut) = YEAR(GETDATE()"... secondo me ci andrebbe forse "YEAR(FineValut) <= YEAR(GETDATE()" così prendi anche gli anni passati...

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.