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

    selezionare intervallo mesi

    Salve a tutti, ho un database in cui ho questi records
    tipo | periodo
    maglione | da novembre ad aprile
    felpa | da settembre a marzo
    pangalone | da dicembre a gennaio

    vorrei mettere gli articoli in offerta per il mese di dicembre, ma non so che tipo di query impostare.

    avevo fatto un ragionamento del tipo:
    - mi creo un array e ad ogni mese gli assegno un numero
    - prendo il campo periodo e me lo divido rilevandomi il mese
    - mi creo un range per confrontarlo (ma come si fa se si puo fare?)

    vi ringrazio in anticipo per ogni consiglio.

  2. #2
    invece di una sola colonna "periodo" usa due colonne "da" e "a", vedrai che sarà facile

  3. #3
    fatto, ma adesso come faccio a selezionare tutte le date in questo intervallo?
    sono solo stringe e non numeri, cambia il metodo, ma non la soluzione

  4. #4
    che vuol dire "sono stringhe"?

  5. #5
    cioè sono solo mesi come fa lo script a sapere se dicembre è compreso tra novembre e gennaio?
    ma se si potesse convertire in numero, anzi mi correggo in data, potresti fare benissimamente il calcolo...

  6. #6
    boh, mica ho capito cosa hai scritto nei campi...

  7. #7
    ma in periodo non puoi inserire tutti i mesi?

    per esempio
    da novembre ad aprile
    puoi indicare 11,12,1,2,3,4
    è la cosa più semplice che mi viene in mente

    altrimenti
    se vuoi tenere da novembre ad aprile devi comunque trovare i mesi che ci sono nell'intervallo

    quindi al primo mese (11) aggiungi 1 fino a raggiungere 4
    perciò
    codice:
    mesi=""
    i=11
    f=4
    do while not i=f
    i=i+1
    if i>12 then
     i=1
    end if
    mesi=mesi&","&i
    loop
    mesi=right(mesi,(len(mesi)-1))
    così avrai in mesi l'elenco dei mesi in cui devi inserire l'offerta

    o in alternativa puoi cercare di usare il datediff ma credo che il tutto sia più complicato
    dovresti vedere in che anno e mese sei, controllare che il primo mese (in questo caso novembre) sia nel tuo stesso anno dunque dargli come giorno l'1 e come anno l'anno corrispondente (o quello attuale o quello precedente)
    poi devi controllare che il secondo mese sia dell'anno in corso (in questo caso aprile è del 2012) dargli come giorno il 31 e come anno l'anno corrispondente (o quello attuale o quello successivo) e fare un datediff tra queste date


    se vuoi un mio consiglio io modificherei il campo periodo e metterei l'elenco dei mesi, come la prima proposta

  8. #8
    beh, io stavo pensando proprio con il datediff(), ma penso che la soluzione migliore sia proprio la prima che mi hai proposto, basta aggiungere una campo, e controllare che il mese corrente sia incluso tra quei numeri.
    Grazie Grambo, Grazie Optime

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.