Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

I denne bloggen vil vi diskutere noen vanlige tabelluttrykk, også kjent som CTE-er . Hvis du støter på komplekse problemer, kan bruk av disse hjelpe deg.

Med CTE kan du dele opp enhver oppgave i små og håndterbare spørsmål for å løse kompliserte problemer.

La oss nå utforske hvordan CTE kan gjøre arbeidet ditt mer effektivt i feilsøkingskoder.

Innholdsfortegnelse

Syntaks for å lage vanlige SQL-tabelluttrykk 

Først må du skrive " WITH " etterfulgt av navnet på CTE Expression , etterfulgt av " AS ".

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

Etter det kan du stille inn eventuelle spørsmål mellom parentesene. Dette vil bli lagret i det angitte uttrykksnavnet som vil fungere som en virtuell tabell.

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

Legg deretter til enved å bruke den virtuelle tabellen du har opprettet via uttrykksnavnet du har angitt.

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

For vårt eksempel bruker vi " USACusts " for uttrykksnavnet .

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

Og for spørringen bruker vi denne koden. 

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

Denne spørringen vil opprette en virtuell tabell. Den viser et totalt eller aggregert beløp som er gruppert etter kunde-ID der landet de tilhører er « USA ». Dataene vil bli hentet fra Sales.Customers -tabellen.

To kolonner vil være synlige, som er custid og Agg_Amount . Vær oppmerksom på at USACusts- tabellen ikke er et fysisk bord, men bare et virtuelt bord. Det betyr at den ikke vil være synlig i databasen vår.

Etter spørringen kan vi legge til en

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

Denne setningen vil velge alle Agg_Amount som er større enn 1000 fra USACusts- tabellen.

Flere vanlige SQL-tabelluttrykk 

Flere CTE-er kan hjelpe deg med å løse komplekse feil i koden din ved å dele dem opp i mindre biter. I tillegg kan du definere så mange CTEer du vil. Nedenfor er et eksempel på flere CTE-er .

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

For dette eksemplet har vi den første CTE som er C1 . Derfra valgte vi YEAR(orderdate) og opprettet 2 kolonner som er ordreår og custid fra Sales.Orders-tabellen .

For den andre CTE kalt C2 valgte vi ordreår og samlet inn antall custid ved å bruke COUNT- kommandoen. Så kalte vi den som numcusts fra C1 . En WHERE- betingelse ble også lagt til i C2 for å velge bare ordreåret som er større enn 2015 . Så grupperte vi dem etter bestillingsår .

Etter det valgte vi ordreår og numcusts fra C2 . Deretter la vi til en WHERE- betingelse for å velge bare antallet kunder som er større enn 500 .

For å oppsummere brukes denne koden til å velge kunder der ordreåret er større enn 2015 og velge kun antall kunder som er mer enn 500 basert på ordreårets tilstand.

Bruke flere CTE-er for å løse komplekse koder

Deretter vil jeg vise flere eksempler for ytterligere å understreke bruken av CTE- er ved feilsøking av et stort sett med data. Her er et annet eksempel på flere CTE-er .

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

Vær oppmerksom på at du kan navngi CTE-er slik du vil, men for denne bloggen bruker vi C1 , C2 , C3 og så videre for enkelt å identifisere og forstå hvordan vi bruker dem i eksemplene våre.

For å gå tilbake til eksemplet, opprettet vi C1 for å velge bare salg der bestillingsmengden er større enn 5 fra Sales.SalesOrderDetails -tabellen.

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

Så i C2 brukte vi dataene vi lagret i C1 for å slå sammen produktet basert på Product.ID og grupperte dem etter produktnavn (p.Name) og produktfarge (p.Color) .

Siden vi erklærte en betingelse i C1 , vil vi bare gruppere produktnavnet og produktfargen i C2 for bestillinger der bestillingsmengden (OrdreAntall) er større enn 5 .

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

Etter det bruker vi en kommando for å velge alle data fra C2 med et bestillingsantall som er større enn 1000 .

For feilsøkingsformål kan du ganske enkelt velge hver av CTE- ene du har opprettet for å sjekke om den viser de riktige dataene. Se eksemplene nedenfor.

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

For C1 viser den alle dataene fra Sales.SalesOrderDetail -tabellen med et bestillingsantall som er større enn 5 .

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

Deretter viser C2 en utgang av bestillingsmengden som er gruppert etter produktnavn og farge fra C1 . I C2 kan vi se ordremengde- kolonnen, men vi har det faktisk ikke i C2 fordi det bare er en beregnet kolonne som vi genererte fra C1 . Herfra kan vi begynne å bruke en hvilken som helst betingelse i ordremengde- kolonnen og utføre feilsøking.

Så nå kan du se hvordan flere CTE-er kan hjelpe oss med å løse feil i komplekse koder ved å lagre dem i CTE-er og starte feilsøking uten å skade den faktiske koden.

Bruke CTE-er med saksuttalelse

La oss ha et annet eksempel med samme kontekst for å vise hvordan vi kan bruke flere CTE- er i feilsøking av komplekse koder. 

I dette tilfellet skal vi bruke en CASE -setning som vil opprette en produktkategorikolonne med resultater som er basert på den aggregerte mengden ordremengde fra C2 .

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

Som nevnt tidligere hadde vi ikke ordremengde i den første CTE så vel som i produktkategorien , men vi brukte mellomtabeller for å beregne og utføre forskjellige beregninger.

I det neste eksemplet lager vi et samlet beløp basert på det vi har opprettet i det forrige eksemplet. Men for å gjøre dette, legger vi CASE- setningen for produktkategorien i den tredje CTE som er C3 .

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

Før vi fortsetter, la oss sjekke utdataene til C3 ved å legge til " SELECT * FROM C3 " under C3 .

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

I C3 kan vi se kolonnene Produktnavn , Farge , ordreantall og Produktkategori . Herfra kan vi begynne å aggregere basert på produktkategorien . La oss gjøre dette ved å bruke følgende kommando under C3 .

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

Eksemplet nedenfor er resultatet etter å ha opprettet et samlet beløp ved å bruke kommandoen ovenfor.

Vanlige SQL-tabelluttrykk for LuckyTemplates-brukere

I utgangspunktet hadde vi ikke kolonnene Produktkategori og ordreantall , men vi kan generere prøveutdata basert på disse kolonnene ved å bruke flere CTE-er .

På dette tidspunktet kan du se at vi kan gjøre hva som helst ved hjelp av CTE- er for å jobbe mer effektivt med kodene våre.



Konklusjon

I denne opplæringen har du lært den riktige syntaksen for å lage vanlige SQL-tabelluttrykk og hvordan du bruker flere CTE- er i feilsøking av komplekse koder ved å isolere små deler av data og lagre dem i en gitt CTE .

Ved å lære dette har du nå muligheten til å feilsøke kodene dine mer effektivt. Husk at du kan bruke hvilket som helst navn for CTE , og du kan ikke bruke eller kalle noen CTE med mindre det er opprettet. Når du først har blitt kjent med CTE , kan du betrakte deg selv som en middels bruker av.

Hvis du vil vite mer om dette emnet og annet relatert innhold, kan du absolutt sjekke listen over relevante lenker nedenfor.

Beste ønsker,

Hafiz


Variabler og uttrykk i Power Query Editor

Variabler og uttrykk i Power Query Editor

Denne opplæringen vil diskutere om variabler og uttrykk i Power Query Editor. Du lærer hvordan du skriver og bygger dem riktig.

Hvordan lage et Lucky Templates-varmekart

Hvordan lage et Lucky Templates-varmekart

Et LuckyTemplates-varmekart er en type visualisering som brukes til å vise datatetthet på et kart. I denne opplæringen vil jeg diskutere hvordan vi kan lage en – ikke gå glipp av noe!

Opprette et Pareto-diagram i LuckyTemplates – Avansert DAX

Opprette et Pareto-diagram i LuckyTemplates – Avansert DAX

Jeg skal lære deg et veldig interessant eksempel rundt Pareto-prinsippet og hvordan du lager et Pareto-diagram ved hjelp av viktige DAX-formler.

Egendefinert stolpediagram i LuckyTemplates: varianter og modifikasjoner

Egendefinert stolpediagram i LuckyTemplates: varianter og modifikasjoner

Lær hvordan et tilpasset stolpediagram på markedsplassen kan brukes til datasammenligning og hvordan du kan lage dem ved å bruke eksempler i LuckyTemplates.

Kraftautomatisering av statiske resultater: En oversikt

Kraftautomatisering av statiske resultater: En oversikt

Lær hvordan Power Automate Static Results-funksjonen fungerer og hvorfor det er bra å bli lagt til de beste praksisene når du lager flytdiagrammer.

LuckyTemplates Python-opplæring: Hvordan oversette tekster

LuckyTemplates Python-opplæring: Hvordan oversette tekster

eDNA demonstrerer hvordan du utfører språk- eller tekstoversettelse ved hjelp av Python og overfører det til LuckyTemplates. LuckyTemplates Python-opplæring.

Lag et Gantt-diagram i LuckyTemplates Report Builder

Lag et Gantt-diagram i LuckyTemplates Report Builder

I denne opplæringen lærer du hvordan du bruker Gauge Bullet Graph til å lage et Gantt-diagram i LuckyTemplates Report Builder.

Lag 3D-spredningsplott ved å bruke Python i LuckyTemplates

Lag 3D-spredningsplott ved å bruke Python i LuckyTemplates

I denne opplæringen lærer du hvordan du lager et tredimensjonalt (3D) spredningsplott ved å bruke Python i LuckyTemplates.

Effektiv LuckyTemplates-rapportering – øktgjennomgang og ressursnedlasting

Effektiv LuckyTemplates-rapportering – øktgjennomgang og ressursnedlasting

Effektiv LuckyTemplates-rapportering – øktgjennomgang og ressursnedlasting

Ny kundeanalyse med LuckyTemplates – Neste medlemsbegivenhet

Ny kundeanalyse med LuckyTemplates – Neste medlemsbegivenhet

Ny kundeanalyse med LuckyTemplates – Neste medlemsbegivenhet