Vanliga SQL-tabelluttryck för LuckyTemplates-användare

I den här bloggen kommer vi att diskutera några vanliga tabelluttryck, även kända som CTE . Om du stöter på komplexa problem kan användningen av dessa hjälpa dig.

Med CTE kan du dela upp alla uppgifter i små och hanterbara frågor för att lösa komplicerade problem.

Låt oss nu utforska hur CTE kan göra ditt arbete mer effektivt i felsökningskoder.

Innehållsförteckning

Syntax för att skapa vanliga SQL-tabelluttryck 

Först måste du skriva " WITH " följt av ditt CTE-uttrycksnamn , följt av " AS ".

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

Efter det kan du ange alla frågor mellan parenteserna. Detta kommer att lagras i det angivna uttrycksnamnet som kommer att fungera som en virtuell tabell.

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

Lägg sedan till amed hjälp av den virtuella tabellen du har skapat via det uttrycksnamn du har angett.

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

För vårt exempel kommer vi att använda " USACusts " för uttryckets namn .

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

Och för frågan kommer vi att använda den här koden. 

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

Denna fråga kommer att skapa en virtuell tabell. Den visar ett totalt eller aggregerat belopp som är grupperat efter kund-ID där landet de tillhör är " USA ". Uppgifterna kommer att extraheras från tabellen Sales.Customers .

Två kolumner kommer att vara synliga, som är custid och Agg_Amount . Notera att USACusts- tabellen inte är en fysisk tabell utan bara en virtuell tabell. Det betyder att det inte kommer att synas i vår databas.

Efter frågan kan vi sedan lägga till en

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

Detta uttalande kommer att välja alla Agg_Amount som är större än 1000 från USACusts- tabellen.

Flera vanliga SQL-tabelluttryck 

Flera CTE: er kan hjälpa dig att lösa komplexa fel i din kod genom att dela upp dem i mindre bitar. Dessutom kan du definiera hur många CTE du vill. Nedan är ett exempel på flera CTE:er .

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

För det här exemplet har vi den första CTE som är C1 . Därifrån valde vi YEAR(orderdatum) och skapade 2 kolumner som är orderår och kund från tabellen Sales.Orders .

För den andra CTE som heter C2 valde vi orderår och samlade in antalet custid med hjälp av kommandot COUNT . Sedan namngav vi det som numcusts från C1 . Ett WHERE -villkor lades också till i C2 för att endast välja det beställningsår som är större än 2015 . Sedan grupperade vi dem efter beställningsår .

Efter det valde vi beställningsår och numcust från C2 . Sedan lade vi till ett WHERE- villkor för att bara välja antalet kunder som är fler än 500 .

Sammanfattningsvis används denna kod för att välja kunder där beställningsåret är större än 2015 och välja endast antalet kunder som är fler än 500 baserat på beställningsårets skick.

Använda flera CTE:er för att lösa komplexa koder

Därefter kommer jag att visa fler exempel för att ytterligare betona användningen av CTE:er vid felsökning av en stor uppsättning data. Här är ett annat exempel på flera CTE:er .

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

Observera att du kan namnge CTE som du vill men för den här bloggen använder vi C1 , C2 , C3 och så vidare för att enkelt identifiera och förstå hur vi använder dem i våra exempel.

Om vi ​​går tillbaka till exemplet skapade vi C1 för att endast välja försäljning där orderkvantiteten är större än 5 från tabellen Sales.SalesOrderDetails .

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

Sedan i C2 använde vi data som vi lagrade i C1 för att ansluta produkten baserat på Product.ID och grupperade dem efter produktnamn (p.Name) och produktfärg (p.Color) .

Eftersom vi deklarerade ett villkor i C1 kommer vi bara att gruppera produktnamnet och produktfärgen i C2 för beställningar där beställningskvantiteten (OrderQty) är större än 5 .

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

Efter det använder vi ett kommando för att välja all data från C2 med en orderkvantitet som är större än 1000 .

För felsökningsändamål kan du helt enkelt välja var och en av de CTE som du har skapat för att kontrollera om den visar rätt data. Se exemplen nedan.

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

För C1 visar den all data från tabellen Sales.SalesOrderDetail med en orderkvantitet som är större än 5 .

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

Sedan visar C2 en utmatning av beställningskvantiteten som är grupperad efter produktnamn och färg från C1 . I C2 kan vi se orderqty- kolumnen men det har vi faktiskt inte i C2 eftersom det bara är en beräknad kolumn som vi genererade från C1 . Härifrån kan vi sedan börja använda vilket villkor som helst i kolumnen orderqty och utföra felsökning.

Så nu kan du se hur flera CTE:er kan hjälpa oss att lösa fel i komplexa koder genom att lagra dem i CTE:er och börja felsöka utan att skada den faktiska koden.

Använda CTE:er med fallbeskrivning

Låt oss ta ett annat exempel med samma sammanhang för att visa hur vi kan använda flera CTE:er vid felsökning av komplexa koder. 

I det här fallet kommer vi att använda en CASE- sats som skapar en produktkategorikolumn med resultat som är baserade på den aggregerade mängden orderkvantitet från C2 .

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

Som tidigare nämnts hade vi inte orderantal i den första CTE samt produktkategorin men vi använde mellanliggande tabeller för att beräkna och utföra olika beräkningar.

I nästa exempel skapar vi ett aggregerat belopp baserat på det vi skapade i föregående exempel. Men för att göra detta lägger vi CASE- satsen för produktkategorin i den tredje CTE som är C3 .

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

Innan vi fortsätter, låt oss kontrollera utsignalen från C3 genom att lägga till " SELECT * FROM C3 " under C3 .

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

I C3 kan vi se kolumnerna Produktnamn , Färg , orderantal och Produktkategori . Härifrån kan vi börja aggregera baserat på produktkategorin . Låt oss göra detta genom att använda följande kommando under C3 .

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

Exemplet nedan är resultatet efter att ha skapat ett aggregerat belopp genom att använda kommandot ovan.

Vanliga SQL-tabelluttryck för LuckyTemplates-användare

Från början hade vi inte kolumnerna Produktkategori och orderantal , men vi kan generera exempelutdata baserat på dessa kolumner genom att använda flera CTE:er .

Vid det här laget kan du se att vi kan göra vad som helst med hjälp av CTE:er för att arbeta med våra koder mer effektivt.



Slutsats

I den här handledningen har du lärt dig rätt syntax för att skapa vanliga SQL-tabelluttryck och hur du använder flera CTE:er vid felsökning av komplexa koder genom att isolera små delar av data och lagra dem i en given CTE .

Genom att lära dig detta har du nu möjlighet att felsöka dina koder mer effektivt. Kom ihåg att du kan använda vilket namn som helst för CTE och du kan inte använda eller ringa någon CTE om den inte skapas. När du väl har bekantat dig med CTE kan du betrakta dig själv som en mellananvändare av.

Om du vill veta mer om det här ämnet och annat relaterat innehåll kan du absolut kolla in listan med relevanta länkar nedan.

Med vänliga hälsningar,

Hafiz


Variabler och uttryck i Power Query Editor

Variabler och uttryck i Power Query Editor

Denna handledning kommer att diskutera om variabler och uttryck i Power Query Editor. Du lär dig hur du skriver och bygger dem på rätt sätt.

Hur man skapar en Lucky Templates värmekarta

Hur man skapar en Lucky Templates värmekarta

En LuckyTemplates värmekarta är en typ av visualisering som används för att visa datatäthet på en karta. I den här handledningen kommer jag att diskutera hur vi kan skapa en - missa inte!

Skapa ett paretodiagram i LuckyTemplates – Advanced DAX

Skapa ett paretodiagram i LuckyTemplates – Advanced DAX

Jag ska lära dig ett riktigt intressant exempel kring Pareto-principen och hur man skapar ett Pareto-diagram med hjälp av viktiga DAX-formler.

Anpassat stapeldiagram i LuckyTemplates: varianter och modifiering

Anpassat stapeldiagram i LuckyTemplates: varianter och modifiering

Lär dig hur ett anpassat stapeldiagram på marknadsplatsen kan användas för datajämförelse och hur du kan skapa dem med hjälp av exempel i LuckyTemplates.

Power Automate Static Results: En översikt

Power Automate Static Results: En översikt

Lär dig hur funktionen Power Automate Static Results fungerar och varför det är bra att läggas till de bästa metoderna när du skapar flödesdiagram.

LuckyTemplates Python Handledning: Hur man översätter texter

LuckyTemplates Python Handledning: Hur man översätter texter

eDNA visar hur man utför språk- eller textöversättning med Python och överför det till LuckyTemplates. LuckyTemplates Python Tutorial.

Skapa ett Gantt-diagram i LuckyTemplates Report Builder

Skapa ett Gantt-diagram i LuckyTemplates Report Builder

I den här handledningen kommer du att lära dig hur du använder Gauge Bullet Graph för att skapa ett Gantt-diagram i LuckyTemplates Report Builder.

Skapa 3D Scatter Plot med Python i LuckyTemplates

Skapa 3D Scatter Plot med Python i LuckyTemplates

I den här handledningen kommer du att lära dig hur du skapar en tredimensionell (3D) spridningsplot med Python i LuckyTemplates.

Effektiv LuckyTemplates-rapportering – sessionsgranskning och resursnedladdning

Effektiv LuckyTemplates-rapportering – sessionsgranskning och resursnedladdning

Effektiv LuckyTemplates-rapportering – sessionsgranskning och resursnedladdning

Ny kundanalys med LuckyTemplates – Evenemang endast för nästa medlem

Ny kundanalys med LuckyTemplates – Evenemang endast för nästa medlem

Ny kundanalys med LuckyTemplates – Evenemang endast för nästa medlem