sql >> Database teknologi >  >> RDS >> Access

Sådan konverteres en normal forespørgsel til en krydstabuleringsforespørgsel i Access

Forvandl en udvalgt forespørgsel til en krydstabelforespørgsel for at få et mere læsbart sæt resultater.

Nogle gange vil en normal (vælg) forespørgsel returnere resultater, hvor nogle felter skal duplikeres for at vise alle data.

En krydstabuleringsforespørgsel giver dig mulighed for at gruppere forespørgselsresultaterne på en måde, der fjerner de duplikerede værdier, og præsenterer resultaterne på en måde, der gør dem nemmere at læse og dechifrere.

Her er et eksempel.

  • Normal (Vælg) forespørgsel

    Denne forespørgsel viser månedligt produktsalg fra hver by.

    Fordi der er mange måneder, skal hver by duplikeres for hver måned med salg.

  • Krydstabulatorforespørgsel

    Her er de samme resultater, men denne gang vist ved hjælp af en krydstabuleringsforespørgsel.

    I denne forespørgsel er månederne blevet flyttet til toppen som kolonneoverskrifter. Nu skal hver by kun vises én gang, fordi månederne er angivet i kolonner.

Sådan konverterer du den første (vælg) forespørgsel til den anden (krydstabel) forespørgsel.

  1. Åbn forespørgslen i designvisning

    I navigationsruden skal du højreklikke på forespørgslen og vælge Designvisning fra kontekstmenuen.

    Dette åbner forespørgslen i Design View.

    Hvis du allerede har forespørgslen åben i dataarkvisning, kan du blot skifte til designvisning.

  2. Konverter forespørgslen

    Klik på Krydstabulator fra Forespørgselstype gruppe i båndet (fra fanen Design).

    Dette konverterer straks forespørgslen fra en udvalgt forespørgsel til en krydstabuleringsforespørgsel.

    Du kan også højreklikke hvor som helst i diagramruden og vælge Forespørgselstype> Krydstabuleringsforespørgsel fra kontekstmenuen.

  3. Tilføj krydstabuleringskriterierne

    Du kan nu se, at en Crosstab rækken er blevet tilføjet til den nederste kriterierude (og Vis række er blevet fjernet).

    Krydstabellen række giver dig mulighed for at angive, hvilke felter der skal vises som rækkeoverskrifter, og hvilke felter der skal vises som rækkeoverskrifter.

    Total række giver dig mulighed for at angive, hvordan resultaterne vil blive grupperet, samt eventuelle udtryk/funktioner, der skal anvendes på et givet felt.

    I dette eksempel er Skibsby feltet er rækkeoverskriften og Ordredato feltet er kolonneoverskriften.

    Bemærk, at dette felt også bliver formateret ved hjælp af Format() funktion, så datoerne vises som måneder (og resultaterne er grupperet efter måned).

  4. Forespørgselsresultatet

    Når vi kører forespørgslen, ser vi, at månederne er angivet som kolonneoverskrifter, og resultaterne er mere kompakte.

Manglende felter?

Se Ret manglende felter i en krydstabuleringsforespørgsel for at få vist alle kolonner, uanset om der er data for den kolonne.

Anvendelse af denne teknik på ovenstående forespørgsel vil resultere i, at alle årets 12 måneder vises, selvom nogle måneder ikke har nogen data at vise.


  1. Implementering af Levenshtein distance til mysql/fuzzy søgning?

  2. Opsætning af en geo-distribueret databaseklynge ved hjælp af MySQL-replikering

  3. Hvordan tilføjer man brugerdefinerede attributter til SQL-forbindelsesstrengen?

  4. Sådan opretter du pivottabel i PostgreSQL