Query con raggruppamento a priorità

di il
7 risposte

Query con raggruppamento a priorità

Buonasera a tutti, come primo post chiedo aiuto per il seguente quesito.

Ho una tabella che contiene i seguenti valori

IDCASOSOTTOCASO12NUM
1a1X
 
1
2a2
 
X2
3b1X
 
3
4b2X
 
4
5a1XX5
6a2X
 
6
7b1X
 
7
8b2X
 
8
9c1X
 
9
10c2X
 
10
11c3XX11
12a3X
 
12
13b2X
 
13
Tabella1

Premesso che nella query è presente la seguente formula:

Espr1: IIf([2]="X";"T";IIf([1]="X";"C";""))

Il risultato che deriva con il raggruppamento è questo:

CASOEspr1
aC
aT
bC
cC
cT
Query1

La domanda è questa: a parità di caso come posso far vincere la lettera T verso la lettera C?

In pratica mi aspetto il seguente risultato:

Grazie a tutti per il contributo

CASOEspr1
aT
bC
cT
Query1

7 Risposte

  • Re: Query con raggruppamento a priorità

    Non vedo quale criterio si debba applicare per ottenere il risultato voluto. Spiega meglio.

  • Re: Query con raggruppamento a priorità

    Non ho capito da cosa viene fuori espr1; if non sembra appartenere ad una query ma ad una sp.

    Con una query non puoi (sarebbe macchinoso).

    Con una sp, ottenuta la prima risposta, puoi trasformare il carattere in decimale (char A = dec 65 e Z=90) o aggiungere un campo calcolato dove ad a corrisponde 1 fino alla z, e utilizzare la risposta per filtrare max(char) group by caso

    Qualcosa del genere, ma, come ti è stato fatto notare, non si capisce il criterio di filtraggio dati.

  • Re: Query con raggruppamento a priorità

    Espr1: IIf([2]="X";"T";IIf([1]="X";"C";""))

    Ordina in maniera ascendente il campo ‘Caso’

    Ordina in maniera discendente il campo calcolato ‘Espr1’

    Rispetta l'ordine dei campi per l'ordinamento (quindi ‘Caso’ e ‘Expr1’)

  • Re: Query con raggruppamento a priorità

    Scusate se non sono stato chiaro, e provo a spiegarmi meglio.

    Posseggo la seguente tabella dati

    CASOSOTTOCASO12
    a1X 
    a2 X
    b1X 
    b2 X
    a1XX
    a2X 
    b1X 
    b2X 
    c1X 
    c2X 
    c3XX
    a3X 
    b2X 

    Ho la necessità di raggruppare in base ai seguente criteri:

    1. rispetto al campo CASO
    2. Rispetto al campo SOTTOCASO prendendo in analisi il solo valore Maggiore
    3. Rispetto al campo 1 e 2 dove è prioritario il valore contenuto nella colonna 2 e secondario il valore della colonna 1
    CASOSOTTOCASO12
    B2 X
    b2X 
    C3XX
    A3X 
    b2X 

    Il risultato Finale sarebbe il seguente ( ho indicato con le maiuscole le righe che mi aspetto nel risultato)

    CASOSOTTOCASO12
    B2 X
    C3XX
    A3X 

    Grazie

  • Re: Query con raggruppamento a priorità

    Parli di raggruppamento ma non è un raggruppamento quello che vuoi fare. Si tratta di una query di selezione con delle condizioni WHERE.

  • Re: Query con raggruppamento a priorità

    Buonasera Antony, gentilmente mi potresti aiutare a creare la Query. Grazie

  • Re: Query con raggruppamento a priorità

    17/01/2024 - Antony73 ha scritto:


    Parli di raggruppamento ma non è un raggruppamento quello che vuoi fare. Si tratta di una query di selezione con delle condizioni WHERE.

    Buonasera Antony, gentilmente mi potresti aiutare? Grazie

Devi accedere o registrarti per scrivere nel forum
7 risposte