Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

I denne blog vil vi diskutere nogle almindelige tabeludtryk, også kendt som CTE'er . Hvis du støder på komplekse problemer, kan brugen af ​​disse hjælpe dig.

Med CTE kan du opdele enhver opgave i små og håndterbare forespørgsler for at løse komplicerede problemer.

Lad os nu undersøge, hvordan CTE kan gøre dit arbejde mere effektivt i fejlfindingskoder.

Indholdsfortegnelse

Syntaks til oprettelse af almindelige SQL-tabeludtryk 

Først skal du skrive " WITH " efterfulgt af dit CTE-udtryksnavn efterfulgt af " AS ".

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

Derefter kan du angive eventuelle forespørgsler mellem parenteserne. Dette vil blive gemt i det angivne udtryksnavn, der vil fungere som en virtuel tabel.

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

Tilføj derefter aved hjælp af den virtuelle tabel, du har oprettet via det udtryksnavn, du har angivet.

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

For vores eksempel vil vi bruge " USACusts " til udtrykkets navn .

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

Og til forespørgslen bruger vi denne kode. 

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

Denne forespørgsel vil oprette en virtuel tabel. Det viser et samlet eller aggregeret beløb, der er grupperet efter kunde-id, hvor det land, de tilhører, er " USA ". Dataene vil blive udtrukket fra Sales.Customers -tabellen.

To kolonner vil være synlige, som er custid og Agg_Amount . Bemærk, at USACusts- tabellen ikke er en fysisk tabel , men kun en virtuel tabel. Det betyder, at den ikke vil være synlig i vores database.

Efter forespørgslen kan vi tilføje en

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

Denne erklæring vil vælge alle Agg_Amount , der er større end 1000 , fra USACusts- tabellen.

Flere almindelige SQL-tabeludtryk 

Flere CTE'er kan hjælpe dig med at løse komplekse fejl i din kode ved at opdele dem i mindre bidder. Derudover kan du definere så mange CTE'er , som du vil. Nedenfor er et eksempel på flere CTE'er .

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

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

For den anden CTE ved navn C2 valgte vi ordreår og samlede antallet af custid ved hjælp af COUNT- kommandoen. Så kaldte vi det som numcusts fra C1 . En WHERE- betingelse blev også tilføjet i C2 for kun at vælge det ordreår , der er større end 2015 . Derefter grupperede vi dem efter ordreår .

Derefter valgte vi ordreår og numcust fra C2 . Derefter tilføjede vi en WHERE- betingelse for kun at vælge antallet af kunder, der er større end 500 .

For at opsummere bruges denne kode til at vælge kunder, hvor ordreåret er større end 2015 og kun vælge antallet af kunder, der er mere end 500 baseret på ordreårets tilstand.

Brug af flere CTE'er til at løse komplekse koder

Dernæst vil jeg demonstrere flere eksempler for yderligere at understrege brugen af ​​CTE'er til fejlfinding af et stort sæt data. Her er endnu et eksempel på flere CTE'er .

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

Bemærk venligst, at du kan navngive CTE'er, som du vil, men til denne blog bruger vi C1 , C2 , C3 og så videre for nemt at identificere og forstå, hvordan vi bruger dem i vores eksempler.

Går vi tilbage til eksemplet, oprettede vi C1 for kun at vælge de salg, hvor ordremængden er større end 5 fra tabellen Sales.SalesOrderDetails .

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

Derefter brugte vi i C2 de data, som vi gemte i C1 , til at forbinde produktet baseret på Product.ID og grupperede dem efter produktnavn (p.Name) og produktfarve (p.Color) .

Da vi har erklæret en betingelse i C1 , grupperer vi kun produktnavnet og produktfarven i C2 for ordrer, hvor ordremængden (OrdreAntal) er større end 5 .

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

Derefter bruger vi en kommando til at vælge alle data fra C2 med en ordremængde, der er større end 1000 .

Til fejlfindingsformål kan du blot vælge hver af de CTE'er , du har oprettet, for at kontrollere, om den viser de korrekte data. Se eksemplerne nedenfor.

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

For C1 viser den alle data fra tabellen Sales.SalesOrderDetail med en ordremængde, der er større end 5 .

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

Derefter viser C2 et output af ordremængden, der er grupperet efter produktnavn og farve fra C1 . I C2 kan vi se kolonnen ordremængde , men det har vi faktisk ikke i C2 , fordi det kun er en beregnet kolonne, som vi genererede fra C1 . Herfra kan vi så begynde at bruge en hvilken som helst betingelse i kolonnen ordremængde og udføre fejlfinding.

Så nu kan du se, hvordan flere CTE'er kan hjælpe os med at løse fejl i komplekse koder ved at gemme dem i CTE'er og begynde at fejlfinde uden at beskadige den faktiske kode.

Brug af CTE'er med Case Statement

Lad os have et andet eksempel med samme kontekst for at vise, hvordan vi kan bruge flere CTE'er til fejlfinding af komplekse koder. 

I dette tilfælde vil vi bruge en CASE- sætning, der vil oprette en produktkategorikolonne med resultater, der er baseret på den aggregerede mængde ordremængde fra C2 .

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

Som nævnt tidligere havde vi ikke ordremængde i den første CTE såvel som i produktkategorien , men vi brugte mellemtabeller til at beregne og udføre forskellige beregninger.

I det næste eksempel opretter vi et aggregeret beløb baseret på det, vi har oprettet i det forrige eksempel. Men for at gøre dette sætter vi CASE- sætningen for produktkategorien i den tredje CTE , som er C3 .

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

Inden vi fortsætter, lad os kontrollere outputtet fra C3 ved at tilføje " SELECT * FROM C3 " under C3 .

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

I C3 kan vi se kolonnerne Produktnavn , Farve , ordremængde og Produktkategori . Herfra kan vi begynde at aggregere baseret på produktkategorien . Lad os gøre dette ved at bruge følgende kommando under C3 .

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

Eksemplet nedenfor er resultatet efter oprettelse af et aggregeret beløb ved at bruge kommandoen ovenfor.

Almindelige SQL-tabeludtryk for LuckyTemplates-brugere

Oprindeligt havde vi ikke kolonnerne Produktkategori og ordremængde , men vi er i stand til at generere prøveoutput baseret på disse kolonner ved at bruge flere CTE'er .

På dette tidspunkt kan du se, at vi kan gøre alt ved hjælp af CTE'er i at arbejde med vores koder mere effektivt.



Konklusion

I denne øvelse har du lært den korrekte syntaks i at skabe almindelige SQL-tabeludtryk , og hvordan du bruger flere CTE'er til fejlfinding af komplekse koder ved at isolere små dele af data og gemme dem inde i en given CTE .

Ved at lære dette har du nu mulighed for at fejlsøge dine koder mere effektivt. Husk, at du kan bruge et hvilket som helst navn til CTE , og du kan ikke bruge eller kalde nogen CTE , medmindre det er oprettet. Når du først har stiftet bekendtskab med CTE , kan du betragte dig selv som en mellembruger af.

Hvis du gerne vil vide mere om dette emne og andet relateret indhold, kan du helt sikkert tjekke listen over relevante links nedenfor.

Alt det bedste,

Hafiz


Hvad er Power Query & M Language: En detaljeret oversigt

Hvad er Power Query & M Language: En detaljeret oversigt

Denne vejledning giver et overblik over Power Query Editor og M-sproget inde på LuckyTemplates-skrivebordet.

Opret en sideinddelt rapport: Tilføjelse af tekster og billeder

Opret en sideinddelt rapport: Tilføjelse af tekster og billeder

Lær, hvordan du opretter en sideinddelt rapport, tilføjer tekster og billeder og derefter eksporterer din rapport til forskellige dokumentformater.

SharePoint Automate-funktionen | En introduktion

SharePoint Automate-funktionen | En introduktion

Lær, hvordan du bruger SharePoint-automatiseringsfunktionen til at skabe arbejdsgange og hjælpe dig med at mikrostyre SharePoint-brugere, -biblioteker og -lister.

Løs en dataanalyseudfordring med LuckyTemplates Accelerator

Løs en dataanalyseudfordring med LuckyTemplates Accelerator

Udvid dine rapportudviklingsevner ved at deltage i en dataanalyseudfordring. Acceleratoren kan hjælpe dig med at blive LuckyTemplates-superbruger!

Løbende totaler i LuckyTemplates ved hjælp af DAX

Løbende totaler i LuckyTemplates ved hjælp af DAX

Lær, hvordan du beregner løbende totaler i LuckyTemplates ved hjælp af DAX. Løbende totaler giver dig mulighed for ikke at blive fanget af et individuelt resultat.

LuckyTemplates Dax-variabler er konstante: Hvad betyder det?

LuckyTemplates Dax-variabler er konstante: Hvad betyder det?

Forstå konceptet med variabler i DAX i LuckyTemplates og betydningen af ​​variabler for, hvordan dine mål beregnes.

LuckyTemplates hældningsdiagram: en oversigt

LuckyTemplates hældningsdiagram: en oversigt

Lær mere om det brugerdefinerede visuelle kaldet LuckyTemplates Slope-diagrammet, som bruges til at vise stigning/fald for en enkelt eller flere metrics.

LuckyTemplates farvetemaer til ensartede visualiseringer

LuckyTemplates farvetemaer til ensartede visualiseringer

Opdag farvetemaerne i LuckyTemplates. Disse er afgørende for, at dine rapporter og visualiseringer kan se ud og fungere problemfrit.

Beregning af gennemsnit i LuckyTemplates: Isolering af resultater på ugedage eller weekender ved hjælp af DAX

Beregning af gennemsnit i LuckyTemplates: Isolering af resultater på ugedage eller weekender ved hjælp af DAX

Beregning af et gennemsnit i LuckyTemplates kan gøres på mange måder for at give dig præcise oplysninger til dine virksomhedsrapporter.

LuckyTemplates tema | LuckyTemplates Desktop Standard Theming

LuckyTemplates tema | LuckyTemplates Desktop Standard Theming

Lad os dykke ned i Standard LuckyTemplates-temaer og gennemgå nogle af de funktioner, der er indbygget i selve LuckyTemplates Desktop-applikationen.