Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

Ebben a blogban néhány gyakori táblázatos kifejezést, más néven CTE-t tárgyalunk . Ha összetett problémákkal találkozik, ezek használata segíthet.

A CTE segítségével bármilyen feladatot apró és kezelhető lekérdezésekre bonthat bonyolult problémák megoldása érdekében.

Most pedig nézzük meg, hogyan teheti a CTE hatékonyabbá a munkáját a hibaelhárítási kódok terén.

Tartalomjegyzék

Szintaxis közös SQL-táblakifejezések létrehozásához 

Először be kell írnia a „ WITH ” szót, majd a CTE-kifejezés nevét , majd az „ AS ”-t.

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

Ezt követően a zárójelek között bármilyen lekérdezést megadhat. Ez a megadott kifejezésnévben lesz tárolva, amely virtuális táblaként fog működni.

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

Ezután adja hozzá aa beállított kifejezésnévvel létrehozott virtuális tábla használatával .

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

Példánkban az „ USACusts ” kifejezést fogjuk használni a kifejezés nevéhez .

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

A lekérdezéshez pedig ezt a kódot fogjuk használni. 

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

Ez a lekérdezés létrehoz egy virtuális táblát. Ez egy teljes vagy összesített összeget jelenít meg, ügyfél-azonosító szerint csoportosítva, ahol az ország, amelyhez tartoznak, „ USA ”. Az adatok a Sales.Customers táblából lesznek kinyerve .

Két oszlop lesz látható, ezek a custid és az Agg_Amount . Vegye figyelembe, hogy az USACusts tábla nem egy fizikai tábla , hanem csak egy virtuális tábla. Ez azt jelenti, hogy nem lesz látható az adatbázisunkban.

A lekérdezés után hozzáadhatjuk a

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

Ez az utasítás minden 1000- nél nagyobb Agg_Amount értéket kiválaszt az USACusts táblából.

Több közös SQL-táblakifejezés 

Több CTE segíthet a kód összetett hibáinak megoldásában azáltal, hogy kisebb részekre bontja azokat. Ezenkívül tetszőleges számú CTE-t definiálhat . Az alábbiakban egy példa látható több CTE-re .

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

Ebben a példában van az első CTE , amely C1 . Innen az ÉV(rendelési dátum) lehetőséget választottuk , és létrehoztunk 2 oszlopot, amelyek a rendelési évet és a letéti értéket tartalmazzák az Értékesítések.Rendelések táblából .

A második, C2 nevű CTE-hez kiválasztottuk a rendelési évet , és a COUNT paranccsal összegyűjtöttük a custid számát . Ezután a C1-ből származó numcusoknak neveztük el . A C2- ben egy WHERE feltétel is hozzáadásra került, hogy csak a 2015- nél nagyobb rendelési évet válasszuk ki . Ezután rendelési év szerint csoportosítottuk őket .

Ezt követően a C2- ből választottuk ki a rendelési évet és a numcusokat . Ezután hozzáadtunk egy WHERE feltételt, hogy csak az 500- nál nagyobb ügyfelek számát válasszuk ki .

Összegezve, ezzel a kóddal azon ügyfeleket választjuk ki, akiknél a rendelési év nagyobb, mint 2015 , és csak az 500- nál nagyobb vásárlók számát a rendelési év feltétele alapján .

Több CTE használata összetett kódok megoldásához

Ezután további példákat mutatok be, hogy még jobban hangsúlyozzam a CTE-k használatát nagy adathalmaz hibaelhárításában. Íme egy másik példa több CTE-re .

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

Kérjük, vegye figyelembe, hogy a CTE-ket úgy nevezheti el, ahogy akarja, de ennél a blognál a C1 , C2 , C3 stb . szavakat használjuk, hogy könnyen azonosítsuk és megértsük, hogyan használjuk őket példáinkban.

Visszatérve a példához, létrehoztuk a C1-et , hogy csak azokat az értékesítéseket jelöljük ki, amelyeknél a rendelési mennyiség nagyobb, mint 5 a Sales.SalesOrderDetails táblából.

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

Ezután a C2- ben a C1- ben tárolt adatokat felhasználtuk a termék összekapcsolására a Product.ID alapján, és terméknév (p.Name) és termékszín (p.Color) szerint csoportosítottuk őket .

Mivel a C1 -ben deklaráltunk egy feltételt , csak azoknál a rendeléseknél csoportosítjuk a termék nevét és színét a C2- ben, ahol a rendelési mennyiség (Rendelési mennyiség) nagyobb, mint 5 .

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

Ezt követően egy paranccsal kiválasztjuk az összes adatot a C2-ből 1000 -nél nagyobb rendelési mennyiséggel .

Hibaelhárítási célból egyszerűen kiválaszthatja az egyes létrehozott CTE-ket , hogy ellenőrizze, hogy a megfelelő adatokat jeleníti-e meg. Lásd az alábbi példákat.

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

A C1 esetében a Sales.SalesOrderDetail tábla összes adatát megjeleníti 5 -nél nagyobb rendelési mennyiséggel .

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

Ezután a C2 megjeleníti a rendelési mennyiség kimenetét, amely terméknév és szín szerint van csoportosítva a C1 -ből . A C2- ben láthatjuk a orderqty oszlopot, de valójában nincs a C2- ben, mert ez csak egy számított oszlop, amelyet a C1- ből generáltunk . Innentől kezdve használhatjuk a orderqty oszlop bármely feltételét, és elvégezhetjük a hibaelhárítást.

Tehát most már láthatja, hogy több CTE hogyan segíthet nekünk az összetett kódok hibáinak megoldásában azáltal, hogy CTE-kben tárolja azokat , és megkezdheti a hibaelhárítást a tényleges kód károsodása nélkül.

CTE-k használata esetleírással

Vegyünk egy másik példát ugyanebben a kontextusban annak bemutatására, hogyan használhatunk több CTE-t összetett kódok hibaelhárításához. 

Ebben az esetben egy CASE utasítást fogunk használni, amely létrehoz egy Termékkategória oszlopot olyan eredményekkel, amelyek a C2- ből származó rendelési mennyiség összesített mennyiségén alapulnak .

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

Ahogy korábban említettük, az első CTE- ben , valamint a termékkategóriában nem volt rendelési mennyiségünk , de közbenső táblázatokat használtunk a különböző számítások kiszámításához és elvégzéséhez.

A következő példában összesített összeget hozunk létre az előző példában létrehozott összeg alapján. Ehhez azonban a termékkategória CASE utasítását a harmadik CTE- be helyezzük , amely a C3 .

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

Mielőtt továbblépnénk, ellenőrizzük a C3 kimenetét a „ SELECT * FROM C3 ” hozzáadásával a C3 alá .

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

A C3- ban láthatjuk a ProductName , Color , orderqty és Product Category oszlopokat. Innentől kezdve megkezdhetjük az összesítést a termékkategória alapján . Tegyük ezt meg a következő paranccsal a C3 alatt .

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

Az alábbi példa az összesített összeg létrehozása utáni eredményt mutatja a fenti paranccsal.

Általános SQL-táblázat-kifejezések LuckyTemplates felhasználók számára

Kezdetben nem rendelkeztünk a Termékkategória és a Orderqty oszlopokkal, de több CTE használatával mintakimeneteket tudunk generálni ezek alapján az oszlopok alapján .

Ezen a ponton láthatja, hogy a CTE-k segítségével bármit megtehetünk a kódjainkkal való hatékonyabb munkavégzésben.



Következtetés

Ebben az oktatóanyagban megtanulta a megfelelő szintaxist a közös SQL-táblázat-kifejezések létrehozásához , és megtanulta, hogyan lehet több CTE-t használni az összetett kódok hibaelhárításában az adatok kis részeinek elkülönítésével és egy adott CTE-n belüli tárolásával .

Ennek megtanulásával most már hatékonyabban tudja hibakeresni a kódokat. Ne feledje, hogy bármilyen nevet használhat a CTE- hez , és nem használhat vagy hívhat meg egyetlen CTE-t sem , hacsak nem hozza létre. Amint megismeri a CTE-t , köztes felhasználónak tekintheti magát.

Ha többet szeretne megtudni erről a témáról és más kapcsolódó tartalomról, tekintse meg a vonatkozó linkek alábbi listáját.

Minden jót,

Hafiz


Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.

LuckyTemplates mobil jelentéskészítési tippek és technikák

LuckyTemplates mobil jelentéskészítési tippek és technikák

Ez a rövid oktatóanyag kiemeli a LuckyTemplates mobil jelentési funkcióját. Megmutatom, hogyan készíthet hatékony jelentéseket mobileszközökön.

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Ebben a LuckyTemplates bemutatóban olyan jelentéseket tekintünk át, amelyek professzionális szolgáltatáselemzést mutatnak be egy olyan cégtől, amely több szerződéssel és ügyfél-elkötelezettséggel rendelkezik.

Microsoft Power Platform frissítések | Microsoft Ignite 2021

Microsoft Power Platform frissítések | Microsoft Ignite 2021

Tekintse át a Power Apps és a Power Automate legfontosabb frissítéseit, valamint azok előnyeit és következményeit a Microsoft Power Platform számára.

Gyakori SQL-függvények: Áttekintés

Gyakori SQL-függvények: Áttekintés

Fedezzen fel néhány gyakori SQL-függvényt, amelyeket használhatunk, például a karakterláncot, a dátumot és néhány speciális függvényt az adatok feldolgozásához vagy manipulálásához.

LuckyTemplates sablonok létrehozása: útmutató és tippek

LuckyTemplates sablonok létrehozása: útmutató és tippek

Ebből az oktatóanyagból megtudhatja, hogyan hozhatja létre a tökéletes LuckyTemplates sablont, amely az Ön igényeinek és preferenciáinak megfelelően van konfigurálva.

Mezőparaméterek és kis többszörösek a LuckyTemplatesben

Mezőparaméterek és kis többszörösek a LuckyTemplatesben

Ebben a blogban bemutatjuk, hogyan lehet a mezőparamétereket kis többszörösekkel rétegezni, hogy hihetetlenül hasznos betekintést és látványelemeket hozzon létre.

LuckyTemplates rangsor és egyéni csoportosítás

LuckyTemplates rangsor és egyéni csoportosítás

Ebből a blogból megtudhatja, hogyan használhatja a LuckyTemplates rangsorolási és egyéni csoportosítási funkcióit a mintaadatok szegmentálására és kritériumok szerinti rangsorolására.

A LuckyTemplatesben csak egy meghatározott dátumig összesített összeg látható

A LuckyTemplatesben csak egy meghatározott dátumig összesített összeg látható

Ebben az oktatóanyagban egy konkrét technikát fogok bemutatni, hogyan jelenítheti meg a kumulatív összeget csak egy adott dátumig a LuckyTemplates vizualizációjában.

Bullet Charts: speciális egyéni látványelemek a LuckyTemplates számára

Bullet Charts: speciális egyéni látványelemek a LuckyTemplates számára

Ismerje meg, hogyan hozhat létre és testreszabhat Bullet diagramokat a LuckyTemplates alkalmazásban, amelyeket főként a teljesítmény mérésére használnak a célhoz vagy az előző évekhez képest.