Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

In diesem Blog besprechen wir einige gängige Tabellenausdrücke, auch bekannt als CTEs . Wenn Sie auf komplexe Probleme stoßen, kann Ihnen die Verwendung dieser SQL-Tabellenausdrücke helfen.

Mit CTE können Sie jede Aufgabe in kleine und überschaubare Abfragen aufteilen, um komplizierte Probleme zu lösen.

Lassen Sie uns nun untersuchen, wie CTE Ihre Arbeit bei der Fehlerbehebung bei Codes effizienter gestalten kann.

Inhaltsverzeichnis

Syntax zum Erstellen allgemeiner SQL-Tabellenausdrücke 

Zuerst müssen Sie „ With “ eingeben, gefolgt von Ihrem CTE-Ausdrucksnamen , gefolgt von „ AS “.

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

Danach können Sie zwischen den Klammern beliebige Abfragen eingeben. Dies wird im angegebenen Ausdrucksnamen gespeichert, der als virtuelle Tabelle fungiert.

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

Fügen Sie dann eine SELECT-Anweisung hinzu , indem Sie die virtuelle Tabelle verwenden, die Sie über den von Ihnen festgelegten Ausdrucksnamen erstellt haben.

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

In unserem Beispiel verwenden wir „ USACusts “ als Ausdrucksnamen .

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

Und für die Abfrage verwenden wir diesen Code. 

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

Diese Abfrage erstellt eine virtuelle Tabelle. Es wird ein Gesamt- oder Gesamtbetrag angezeigt, gruppiert nach Kunden-ID, wobei das Land, zu dem sie gehören, „ USA “ ist. Die Daten werden aus der Tabelle Sales.Customers extrahiert .

Es werden zwei Spalten angezeigt: custid und Agg_Amount . Beachten Sie, dass es sich bei der USACusts- Tabelle nicht um eine physische Tabelle , sondern nur um eine virtuelle Tabelle handelt. Das bedeutet, dass es in unserer Datenbank nicht sichtbar ist.

Nach der Abfrage können wir dann eine SELECT-Anweisung hinzufügen .

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

Diese Anweisung wählt alle Agg_Amount aus der Tabelle USACusts aus , die größer als 1000 sind .

Mehrere allgemeine SQL-Tabellenausdrücke 

Mehrere CTEs können Ihnen helfen, komplexe Fehler in Ihrem Code zu beheben, indem sie sie in kleinere Teile aufteilen. Darüber hinaus können Sie beliebig viele CTEs definieren. Nachfolgend finden Sie ein Beispiel für mehrere CTEs .

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

Für dieses Beispiel haben wir den ersten CTE , der C1 ist . Von dort aus haben wir YEAR(orderdate) ausgewählt und zwei Spalten erstellt, nämlich orderyear und custid aus der Sales.Orders-Tabelle .

Für den zweiten CTE mit dem Namen C2 haben wir „orderyear“ ausgewählt und die Anzahl der Custids mit dem Befehl „COUNT“ erfasst . Dann haben wir es Numcusts from C1 genannt . In C2 wurde außerdem eine WHERE- Bedingung hinzugefügt , um nur das Bestelljahr auszuwählen , das größer als 2015 ist . Dann haben wir sie nach Bestelljahr gruppiert .

Danach haben wir das Bestelljahr und die Numcusts aus C2 ausgewählt . Dann haben wir eine WHERE- Bedingung hinzugefügt, um nur die Anzahl der Kunden auszuwählen, die größer als 500 ist .

Zusammenfassend lässt sich sagen, dass dieser Code dazu verwendet wird, Kunden auszuwählen, deren Bestelljahr größer als 2015 ist , und nur die Anzahl der Kunden auszuwählen, die mehr als 500 beträgt , basierend auf der Bedingung für das Bestelljahr .

Verwendung mehrerer CTEs zum Lösen komplexer Codes

Als Nächstes zeige ich weitere Beispiele, um die Verwendung von CTEs bei der Fehlerbehebung bei großen Datenmengen noch stärker hervorzuheben. Hier ist ein weiteres Beispiel für mehrere CTEs .

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

Bitte beachten Sie, dass Sie CTEs nach Ihren Wünschen benennen können . In diesem Blog verwenden wir jedoch C1 , C2 , C3 usw., um sie leichter identifizieren und verstehen zu können, wie wir sie in unseren Beispielen verwenden.

Zurück zum Beispiel: Wir haben C1 erstellt, um nur die Verkäufe aus der Tabelle „Sales.SalesOrderDetails“ auszuwählen, bei denen die Bestellmenge größer als 5 ist .

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

Dann haben wir in C2 die in C1 gespeicherten Daten verwendet, um das Produkt basierend auf der Product.ID zu verknüpfen und sie nach Produktname (p.Name) und Produktfarbe (p.Color) zu gruppieren .

Da wir in C1 eine Bedingung deklariert haben , gruppieren wir den Produktnamen und die Produktfarbe in C2 nur für Bestellungen, bei denen die Bestellmenge (OrderQty) größer als 5 ist .

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

Danach verwenden wir einen Befehl, um alle Daten aus C2 mit einer Bestellmenge größer als 1000 auszuwählen .

Zur Fehlerbehebung können Sie einfach jedes der von Ihnen erstellten CTEs auswählen, um zu überprüfen, ob dort die richtigen Daten angezeigt werden. Sehen Sie sich die Beispiele unten an.

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

Für C1 werden alle Daten aus der Sales.SalesOrderDetail- Tabelle mit einer Bestellmenge angezeigt, die größer als 5 ist .

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

Dann zeigt C2 eine Ausgabe der Bestellmenge, gruppiert nach Produktname und Farbe aus C1 . In C2 können wir die Spalte „orderqty“ sehen, aber in C2 gibt es diese eigentlich nicht, da es sich nur um eine berechnete Spalte handelt, die wir aus C1 generiert haben . Von hier aus können wir dann mit der Verwendung einer beliebigen Bedingung in der Spalte „orderqty“ beginnen und eine Fehlerbehebung durchführen.

Jetzt können Sie sehen, wie uns mehrere CTEs dabei helfen können, Fehler in komplexen Codes zu beheben, indem sie sie in CTEs speichern und mit der Fehlerbehebung beginnen, ohne den eigentlichen Code zu beschädigen.

Verwenden von CTEs mit Case-Anweisung

Lassen Sie uns ein weiteres Beispiel mit demselben Kontext verwenden, um zu zeigen, wie wir mehrere CTEs bei der Fehlerbehebung komplexer Codes nutzen können. 

In diesem Fall verwenden wir eine CASE- Anweisung, die eine Produktkategoriespalte mit Ergebnissen erstellt , die auf der aggregierten Bestellmenge von C2 basieren .

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

Wie bereits erwähnt, hatten wir weder im ersten CTE noch in der Produktkategorie die Bestellmenge , aber wir verwendeten Zwischentabellen zur Berechnung und führten verschiedene Berechnungen durch.

Im nächsten Beispiel erstellen wir einen aggregierten Betrag basierend auf der Produktkategorie , die wir im vorherigen Beispiel erstellt haben. Aber dazu fügen wir die CASE- Anweisung für die Produktkategorie in den dritten CTE ein, der C3 ist .

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

Bevor wir fortfahren, überprüfen wir die Ausgabe von C3 , indem wir unter C3 „ SELECT * FROM C3 “ hinzufügen .

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

In C3 können wir die Spalten ProductName , Color , orderqty und Product Category sehen . Von hier aus können wir mit der Aggregation basierend auf der Produktkategorie beginnen . Lassen Sie uns dies tun, indem wir den folgenden Befehl unter C3 verwenden .

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

Das folgende Beispiel ist das Ergebnis, nachdem mit dem obigen Befehl ein aggregierter Betrag erstellt wurde.

Allgemeine SQL-Tabellenausdrücke für LuckyTemplates-Benutzer

Ursprünglich verfügten wir nicht über die Spalten „Produktkategorie“ und „Bestellmenge “, aber wir sind in der Lage, anhand dieser Spalten Beispielausgaben zu generieren, indem wir mehrere CTEs verwenden .

An diesem Punkt sehen Sie, dass wir mit Hilfe von CTEs alles tun können , um effizienter mit unseren Codes zu arbeiten.

Temporäre SQL-Tabellen und -Ansichten für LuckyTemplates-Benutzerfilter
in SQL mit IN, NOT IN, LIKE und NOT LIKE.
SQL-Datenextraktion mit OFFSET und FETCH

Abschluss

In diesem Tutorial haben Sie die richtige Syntax zum Erstellen allgemeiner SQL-Tabellenausdrücke kennengelernt und erfahren, wie Sie mehrere CTEs zur Fehlerbehebung bei komplexen Codes verwenden , indem Sie kleine Datenteile isolieren und in einem bestimmten CTE speichern .

Wenn Sie dies lernen, haben Sie jetzt die Möglichkeit, Ihre Codes effizienter zu debuggen. Denken Sie daran, dass Sie einen beliebigen Namen für CTE verwenden können und keinen CTE verwenden oder aufrufen können , es sei denn, er wurde erstellt. Sobald Sie sich mit CTE vertraut gemacht haben , können Sie sich als fortgeschrittener SQL- Benutzer betrachten .

Wenn Sie mehr über dieses Thema und andere verwandte Inhalte erfahren möchten, können Sie sich die Liste der relevanten Links unten ansehen.

Alles Gute,

Hafiz


So speichern und laden Sie eine RDS-Datei in R

So speichern und laden Sie eine RDS-Datei in R

Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

In diesem Tutorial zur DAX-Codierungssprache erfahren Sie, wie Sie die GENERATE-Funktion verwenden und einen Kennzahltitel dynamisch ändern.

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

In diesem Tutorial erfahren Sie, wie Sie mithilfe der Multi-Threaded-Dynamic-Visuals-Technik Erkenntnisse aus dynamischen Datenvisualisierungen in Ihren Berichten gewinnen.

Einführung in den Filterkontext in LuckyTemplates

Einführung in den Filterkontext in LuckyTemplates

In diesem Artikel werde ich den Filterkontext durchgehen. Der Filterkontext ist eines der Hauptthemen, über die sich jeder LuckyTemplates-Benutzer zunächst informieren sollte.

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Ich möchte zeigen, wie der LuckyTemplates Apps-Onlinedienst bei der Verwaltung verschiedener Berichte und Erkenntnisse aus verschiedenen Quellen helfen kann.

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Erfahren Sie, wie Sie Ihre Gewinnmargenänderungen mithilfe von Techniken wie Kennzahlenverzweigung und der Kombination von DAX-Formeln in LuckyTemplates ermitteln.

Materialisierungsideen für Datencaches in DAX Studio

Materialisierungsideen für Datencaches in DAX Studio

In diesem Tutorial werden die Ideen der Materialisierung von Datencaches und deren Auswirkungen auf die Leistung von DAXs bei der Bereitstellung von Ergebnissen erläutert.

Geschäftsberichte mit LuckyTemplates

Geschäftsberichte mit LuckyTemplates

Wenn Sie bisher noch Excel verwenden, ist dies der beste Zeitpunkt, LuckyTemplates für Ihre Geschäftsberichtsanforderungen zu verwenden.

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst