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

Leave a Comment

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.

Oprettelse af en datotabel i LuckyTemplates

Oprettelse af en datotabel i LuckyTemplates

Find ud af, hvorfor det er vigtigt at have en dedikeret datotabel i LuckyTemplates, og lær den hurtigste og mest effektive måde at gøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte vejledning fremhæver LuckyTemplates mobilrapporteringsfunktion. Jeg vil vise dig, hvordan du kan udvikle rapporter effektivt til mobilenheder.

Professionelle serviceanalyserapporter i LuckyTemplates

Professionelle serviceanalyserapporter i LuckyTemplates

I denne LuckyTemplates Showcase gennemgår vi rapporter, der viser professionel serviceanalyse fra et firma, der har flere kontrakter og kundeengagementer.

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Gå gennem de vigtigste opdateringer til Power Apps og Power Automate og deres fordele og implikationer for Microsoft Power Platform.

Almindelige SQL-funktioner: En oversigt

Almindelige SQL-funktioner: En oversigt

Opdag nogle almindelige SQL-funktioner, som vi kan bruge, såsom streng, dato og nogle avancerede funktioner til at behandle eller manipulere data.

LuckyTemplates skabelonoprettelse: Guide og tips

LuckyTemplates skabelonoprettelse: Guide og tips

I denne tutorial lærer du, hvordan du opretter din perfekte LuckyTemplates-skabelon, der er konfigureret til dine behov og præferencer.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne blog vil vi demonstrere, hvordan man lagdelte feltparametre med små multipler for at skabe utrolig nyttig indsigt og visuals.

LuckyTemplates-rangering og brugerdefineret gruppering

LuckyTemplates-rangering og brugerdefineret gruppering

I denne blog vil du lære, hvordan du bruger LuckyTemplates rangerings- og brugerdefinerede grupperingsfunktioner til at segmentere et eksempeldata og rangordne det efter kriterier.

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

I denne tutorial vil jeg dække en specifik teknik omkring, hvordan du kun viser Kumulativ Total op til en bestemt dato i dine visuals i LuckyTemplates.