Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    Dal primo all'ultimo giorno del mese precedente

    Ciao a tutti.

    Potete spiegarmi come si esegue una query SQL su un DB MySQL che estragga i dati registrati in una tabella dal primo all'ultimo giorno del mese precedente ?

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    non so se c'è una funzione data che ti viene incontro.

    Pero' puoi cavartela con un piccolo trucco, cioè:

    Dove data è < (del giorno 1 del mese corrente)
    AND
    data è >= togli un mese con la funzione dateadd() da (del giorno 1 del mese corrente)

  3. #3
    Originariamente inviato da barney09
    non so se c'è una funzione data che ti viene incontro.

    Pero' puoi cavartela con un piccolo trucco, cioè:

    Dove data è < (del giorno 1 del mese corrente)
    AND
    data è >= togli un mese con la funzione dateadd() da (del giorno 1 del mese corrente)
    Non ho capito... sul web ho trovato questo:

    codice:
    oggi = Date()
    primodelmese = DateSerial(Year(oggi),Month(oggi),-1)
    ultimomenocinque = DateSerial(Year(oggi),month(oggi)-5,1
    Posso personalizzarlo per la mia esigenza?

  4. #4
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    La funzione dateAdd() restituisce una data a cui e' stata aggiunto un certo valore (giorno, mese, anno,...)
    Funzione: dateAdd(intervallo,numero,data)
    Parametri:
    intervallo (Richiesto. Indica l'intervallo che si vuol aggiungere):
    yyyy - anno
    q - quadrimestre
    m - mese
    y - giorno dell'anno
    d - giorno
    w - settimana
    ww - settimana dell'anno
    h - ora
    n - minuti
    s - secondi

    numero (Richiesto. Indica la quantita' da aggiungere)

    data (Richiesto. Indica la data a cui aggiungere l'intervallo)

    Esempio:
    d = dateAdd(d,3,#25/4/04#)
    Response.Write(d)

    Output
    28/4/04



    QUINDI:
    codice:
    oggi = DATE()
    primogiorno = "01/" & Month(oggi) & "/" & Year(oggi)
    primogiorno = CDATE(primogiorno)
    primogiornomeseprec = DATEADD("m", -1, primogiorno)
    
    WHERE data < primogiorno AND data >= primogiornomeseprec

  5. #5
    Grazie davvero!

    Ti spiego la mia situazione, ho queste due tabelle:

    TBL_A
    codice:
    NOME	DATA_A
    W	2009-09-01
    Y	2009-09-02
    X	2009-09-04
    Z	2009-10-01
    TBL_B
    codice:
    NOME	DATA_B		AV
    W	2009-09-02	10
    Y	2009-09-03	15
    X	2009-09-17	15
    Z	2009-10-08	3
    Vorrei questa estrazione:

    codice:
    tot_NOME				tot_AV
    ( TBL_A + TBL_B 
    solo x mese = 09 )			( solo x mese = 09 )
    
    6					40
    Puoi aiutarmi?
    Grazie

  6. #6
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    scusa ma non si capisce niente.

    Prova a spiegarlo, o meglio ancora prova a farlo e poi vediamo di aiutarti.

  7. #7
    Originariamente inviato da barney09
    scusa ma non si capisce niente.

    Prova a spiegarlo, o meglio ancora prova a farlo e poi vediamo di aiutarti.
    1) Devo contare il totale dei records registrati nelle due tabelle per il mese precedente;
    2) Devo sommare il totale AV della tbl_B per il mese precedente.

    Mi spiego?

  8. #8
    contare...: COUNT()
    sommare..: SUM()

  9. #9
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    Originariamente inviato da optime
    contare...: COUNT()
    sommare..: SUM()
    Optimo!

  10. #10
    Sin qui ci si arriva...ma la domanda se posso fare tutto con un'unica query...

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