Trovare Max lungo una riga

di Anonimizzato23464 il
13 risposte
Buongiorno a tutti,
Ho una tabella in access formattata come la seguente:
Data| A| B| C| D
001| 2| 4| 6| 10
002| 10| 15| 7| 5
003| 3| 11| 13| 0

(scusate la tabella formattata un po male)
Dove Data, A, B, C e D sono le intestazioni delle mie colonne.
Quello che mi chiedevo se fosse possibile creare una tabella in cui si riporti la data con il rispettivo massimo di ciascuna riga, cioè il giorno uno il massimo è 10, il giorno 2 il massimo è 15 e così via.

Spero sia stato chiaro.
Grazie in anticipo.

13 Risposte

  • La tabella che mostri non ha campi OMOGENEI secondo la logica di Access.
  • Perchè non sono OMOGENEI, I valori delle colonne A,B,C e D sono tutti numerici
  • Di cosa parla la tua tabella? O meglio come si dovrebbe chiamare?
  • La mia tabella, mi dice giorno per giorno la concentrazione di un inquinante in diversi siti (A, B, C, D).
  • Dovresti avere più tabelle, una per i siti e una per le registrazioni. In una riga una registrazione.
  • Oregon e come trovo il massimo dei diversi siti? Ma soprattutto come trovo il massimo tra i diversi siti in quel determinato giorno?
    Non è più conveniente unirli prima in una tabella e poi cercare il massimo, come da me proposto?
  • Access non ragiona a CELLE come in Excel. Ogni riga di tabella di Access ha un senso TUTT'UNO che si chiama appunto RECORD.
  • Va bene.
    Grazie
  • Dominik ha scritto:


    Oregon e come trovo il massimo dei diversi siti? Ma soprattutto come trovo il massimo tra i diversi siti in quel determinato giorno?
    Non è più conveniente unirli prima in una tabella e poi cercare il massimo, come da me proposto?
    Facendo una Query opportuna di ricerca del MAX per data, cosa estremamente semplice e lineare se applichi i concetti di strutturazione normale, ma se applichi i tuoi francamente la cosa si complica a dismisura.

    Ti faccio un esempio banale con una Query per estrarre il prezzo Massimo per ogni prodotto da un Elenco di prodotti con provenienze diverse.
    Ipotiziamo di avere una tabella prodotto con IndiceProdotto(IdProdotto), prezzo e provenienza(a scopo di esempio).
    Assomiglia vagamente al tuo problema...? (spero tu non dica no)

    Questa Query fa quanto detto, se strutturi correttamente:
    
        Select T1.Provenienza,MAXP.IdProdotto,MAXP.Massimo
        From T1
        RIGHT JOIN
            (select IdProdotto, Max(Prezzo) as Massimo
             From T1
             Group By IdProdotto) AS MAXP
        ON T1.IdProdotto=MAXP.IdProdotto AND T1.Prezzo=MAXP.Massimo
  • Ciao Alex, innanzitutto la ringrazio per l'aiuto.
    Comunque la tabella somiglia molto vagamente alla mia.
    Considerando sempre il suo esempio è come se avessi una tabella con IndiceProdotto(idProdotto), e diversi prezzi di diversi supermercati quindi Prezzo1, Provenienza 1, Prezzo2, Provenienza2, Prezzo3, Provenienza3 e così via.
    é possibile sapere il prezzo massimo di un determinato prodotto tra i diversi supermercati?
  • Dominik ha scritto:


    Ciao Alex, innanzitutto la ringrazio per l'aiuto.
    Comunque la tabella somiglia molto vagamente alla mia.
    Considerando sempre il suo esempio è come se avessi una tabella con IndiceProdotto(idProdotto), e diversi prezzi di diversi supermercati quindi Prezzo1, Provenienza 1, Prezzo2, Provenienza2, Prezzo3, Provenienza3 e così via.
    é possibile sapere il prezzo massimo di un determinato prodotto tra i diversi supermercati?
    No forse non hai capito che il tuo errore è proprio nella struttura... che rende IMPOSSIBILE applicare questa logica.
    Come ti ha detto Oregon, devi ragionare in modo diverso, non puoi Avere PIU' Campi omogenei nella stessa tabella(non ti ho proposto Prezzo1, Preezzo2, PrezzoN... ma tanti Record ognuno con un prezzo... proprio il contrario del tuo) e pensare di far lavorare il motore delle Query che non è fatto per questo...!
    Il motore SQL lavora in verticale.

    Detto questo, non ho altri elementi per spiegare.
  • Va benissimo.
    Grazie mille.
    Lavorerò diversamente
  • Hai fatto la stessa domanda del primo post ... come se non avessimo risposto ...
Devi accedere o registrarti per scrivere nel forum
13 risposte