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

    Creazione automatica colonne

    Ciao a tutti innanzitutto,
    sono un neofita nell'uso di SQL e access; sto cercando di creare una tabella in modo che le colonne inizino da una data e terminino con un'altra e che ogni colonna contenga un valore ingresso ed uno uscita (vorrei fare si che per ogni giorno la colonna si divida in due colonne (alternativamente posso anche creare due colonne per ogni giorno corrente) separate del tipo datacorrente_entrata, datacorrente_uscita), così che con SQL poi creo un inserimento dei dati presi da un'altra tabella (devo sommare tutti gli in e gli out per ogni giorno) come posso fare?
    es)
    01/01/2000 02/01/2000 ..... 31/12/2003
    entrate uscite in out ..... in out
    # # # # ..... # #


    Mi serve una macro o me la cavo creando unq query (uso access) e scrivendo in SQL?
    Grazie a chiunque per l'aiuto...e mi scuso se non sarò molto tecnico

  2. #2
    stai cercando di creare un report?

  3. #3
    Originariamente inviato da optime
    stai cercando di creare un report?

    No, devo sviluppare una query che prelevi i dati da una tabella in cui sono registrati ID, codiceA, dataIn, dataOut (il codice A non è utilizzabile come primary key perchè duplicabile) che esplodendo mi crei (forse più semplice) una tabella avente una serie di colonne come nome colonna tutti i giorni di un periodo (ad esempio dal 1/1/2000 al 31/12/2010) e in ogni colonna poi userò una funzione COUNT() che si basi sul numero di ingressi per quel giorno. Il tutto poi raggruppato (sempre nella mia testa) con GROUP BY codiceA!
    Spero di non aver bestemmiato!

  4. #4
    quando dici "creare una tabella" intendi una tabella di database? o cosa?

  5. #5
    Originariamente inviato da optime
    quando dici "creare una tabella" intendi una tabella di database? o cosa?
    Si, intendo creare una tabella da database (la funzione che sto provando a sviluppare è una semplificazione, dopo la dovrò integrare con tabelle più complete).
    Per sintetizzare il mio scopo provo a spiegare cosa sto cercando di fare :

    Da una tabella (TRASF) che ha come colonne:
    ID (PRIMARY KEY),
    CodiceA (ad esempio "settore_produzione"),
    DataIn (non considero DataOut per semplicità)

    voglio creare una funzione che in automatico crei una tabella [INGRESSI] nuova in cui mette come colonne tutti i giorni che sono in DataIn (dal 1.1.2000 al 31.12.2003) e il cui dato sarà la somma degli ingressi in quel giorno in quel settore (COUNT (DataIn) WHERE (CodiceA alias1 = CodiceA alias2 AND dataIn alias1 = dataIn alias 2)) (ho scritto alias perchè uso una interrogazione correlata).

    Il CodiceA (settore_produzione) lo uso soltanto con GROUP BY, voglio infatti che in orizzontale ci siano le date e che in verticale sia distinguibile un gruppo dall'altro.

    Quello che penso si debba fare è creare un ciclo che faccia questo giochino per ogni data solo che non capisco come lo debba fare! Con Access devo creare una macro o me la cavo con una Query?

    Grazie per il supporto!

  6. #6
    dal 1.1.2000 al 31.12.2003 sono 365*4=1460 colonne, credo che tu sia fuori dai limiti. ma quello che non capisco è *perché* vuoi fare una tabella DI database.

  7. #7
    Originariamente inviato da optime
    dal 1.1.2000 al 31.12.2003 sono 365*4=1460 colonne, credo che tu sia fuori dai limiti. ma quello che non capisco è *perché* vuoi fare una tabella DI database.
    magari sto sbagliando io... a me in realtà basta creare una funzione in SQL che faccia quello che ho scritto sopra e pensavo che il risultato fosse una tabella; che altra soluzione potrei avere dato che è impossibile creare una tabella con così tante colonne?

  8. #8
    è che dobbiamo intenderci sul concetto di tabella.

    se fai

    SELECT Nome, Cognomi FROM Iscritti

    cosa ottieni? una tabella?

  9. #9
    Originariamente inviato da optime
    è che dobbiamo intenderci sul concetto di tabella.

    se fai

    SELECT Nome, Cognomi FROM Iscritti

    cosa ottieni? una tabella?
    E lo so
    Se fai SELECT Nome, Cognomi FROM Iscritti
    per me ottieni una tabella dei risultati; però non so perchè sono agli inizi in cosa si trasforma in access; ho supposto che il risultato fosse una nuova tabella (sbagliando sicuramente)..

  10. #10
    oooooooooocchei!

    ottieni un risultato visualizzato in forma di tabella, NON una nuova tabella.

    quindi, l'interrogazione che tu vuoi fare è una query di tipo PIVOT (è una peculiarità di Access). Leggi la documentazione di Access, trovi tutti gli esempi

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.