Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118

    Problema sql in access.......come fareste voi?

    Ragazzi come posso fare? Ho un campo inizio evento ed un campo fine evento per n righe. Mi hanno chiesto di vedere una sorta di calendario con nei giorni quanti eventi erano aperti. Mi spiego meglio: evento a inizio 10/01/2004 e fine 15/01/2004 ; evento b inizio 13/01/2004 e fine 16/01/2004. Io così avrei:

    10/01 1
    11/01 1
    12/01 1
    13/01 2
    14/01 2
    15/01 2
    16/01 1

    Ovviamente in access è un pò più complicato. Teneteconto che i campi in considerazione sono solo tre evente, inizio, fine. Come posso fare?

  2. #2
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    non so se ho capito il problema.
    mi sembra semplice, fai una select count(*) e nella where metti la data di oggi compresa tra l'inizio e la fine evento, cioè Date() BETWEEN inizio AND fine. occhio ai cancelletti, non mi ricordo se ci vanno
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  3. #3
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    No....devo fare una sorta di calendario con il count degli eventi calcolanda l'inizio e la fine e i giorni che stanno in mezzo.

  4. #4
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Nessuna possibilità? Io avevo pensato ad una sorta di ciclo che mi dia............non so chè.............

  5. #5
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    1. Crei la tabella giorniDelMese con un campo giorno e la riempi con i giorni di cui ti interessano le statistiche

    2.
    SELECT count(*), giorno
    FROM giorniDelMese, Eventi
    WHERE (((giorniDelMese.giorno) Between [inizio] And [fine]))
    GROUP BY giorniDelMese.giorno;

    In sql non esistono cicli.
    S'i fosse foco, arderei 'l mondo

  6. #6
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Mi sa che siamo vicini, però quello che non capisco è questo;

    io ho 500 eventi 1,2,3,4,5,6,etc

    con 500 datainizio e 500 datafine quindi.

    Se faccio una tabella con giorni dell'anno questi andranno riempiti n volte e quindi avevo pensato ad una serie di rst.add

    Tu invece mi proponi una select su due tabelle.

    C'è qualcosa che non capisco. Se il 15/01/2004 avevo tre eventi aperti cosa dovrebbe contare per far si che nella 15/01/2004 appaia il valore 3?

  7. #7
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    1.
    Se faccio una tabella con giorni dell'anno questi andranno riempiti n volte
    EHHHHHH?

    2.
    SELECT count(*), giorno
    FROM giorniDelMese, Eventi
    WHERE (((giorniDelMese.giorno) Between [inizio] And [fine]))
    GROUP BY giorniDelMese.giorno

    =

    Conta il numero di record che hanno datafine <= giorno <= datainizio
    S'i fosse foco, arderei 'l mondo

  8. #8
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Riuscito. Grazie mille.

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.