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

    Consiglio su query SQL e struttura script ASP

    Salve a tutti!

    Vi spiego qual'è il mio problema.
    Ho un DB con due tabelle, su una delle quali trovo tutti gli Operatori (campo Operatore), sull'altra tutte le chiamate che gli Operatori prendono in ciascuna data (campi a_data, Operatore ed altri relativi alla chiamata che non mi interessano adesso).

    Non in tutte le date gli Operatori hanno chiamate archiviate.

    Ho preparato una pagina ASP che ha il compito di compilare un file Excel dove si elencano tutti gli operatori e nei campi a fianco il numero di chiamate per ciascuna data del mese. Poi il file viene salvato ed inviato come allegato ad una email.

    Nessun problema per la creazione del file, il suo salvataggio o il suo invio tramite email.

    Vorrei però dei consigli su come strutturare la query per estrarre i nominativi di tutti gli operatori e per avere il conto delle chiamate di ciascun operatore per ciascun giorno del mese (anche se alcuni giorni saranno a 0).

    Avete suggerimenti?

    Perdonate la niubbaggine con SQL, ma ho provato anche a cercare online, tutorial con esempi validi per query con JOIN abbastanza complessi non ne ho trovati...

    Grazie in anticipo a chiunque voglia darmi una mano.

  2. #2
    quindi una cosa del tipo

    codice:
    chiamate gennaio 2006
    -----------------------------------------------
    operatore | 01 | 02 | 03 | ..
    -----------------------------------------------
    Mario     |  0 | 95 | 13 | ..
    Nino      | 40 | 55 | 17 | ..
    Pino      | 34 |  0 | 17 | ..
    Gino      | 44 | 27 |  0 | ..
    ?

  3. #3
    Originariamente inviato da optime
    quindi una cosa del tipo

    codice:
    chiamate gennaio 2006
    -----------------------------------------------
    operatore | 01 | 02 | 03 | ..
    -----------------------------------------------
    Mario     |  0 | 95 | 13 | ..
    Nino      | 40 | 55 | 17 | ..
    Pino      | 34 |  0 | 17 | ..
    Gino      | 44 | 27 |  0 | ..
    ?
    Esattamente, questo dovrebbe essere il risultato finale.
    Però alcuni Operatori potrebbero non esser presenti nella tabella delle chiamate, dato che può darsi che per un mese o più non ne prendano.

    Grazie mille per ora!
    Sono fermamente convinto che sia possibile fare ogni cosa. Tutto sta a capire come.

  4. #4

  5. #5
    Originariamente inviato da optime
    che db usi?
    Al momento è su access, per ora uso questo perchè sono ancora in fase di "sperimentazione" e preferisco concentrare i miei studi sulla parte di scripting (ho ancora lacune enormi nella conoscenza della sintassi) piuttosto che nell'apprendimento dell'uso di db più evoluti.

    Per quelli mi adeguerò in futuro
    Sono fermamente convinto che sia possibile fare ogni cosa. Tutto sta a capire come.

  6. #6
    con access puoi usare la funzione PIVOT (che ti consiglio di sperimentare costruendo la query direttamente *dentro* access).
    tieni pero' presente che PIVOT lo ritroverai solo su SQL SERVER 2005 (anche EXPRESS), e non su SQL SERVER 2000 o MySQL

  7. #7
    Chiedo scusa una volta di più per la niubbaggine, ma... cos'è la funzione PIVOT?
    Come si usa e soprattutto a cosa serve?

    Grazie
    Sono fermamente convinto che sia possibile fare ogni cosa. Tutto sta a capire come.

  8. #8
    ti ho apposta suggerito di guardare *dentro* access... li' trovi tutte le spieghe del caso

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.