Á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


Mi az a Power Query & M Language: Részletes áttekintés

Mi az a Power Query & M Language: Részletes áttekintés

Ez az oktatóanyag áttekintést nyújt a Power Query szerkesztőről és az M nyelvről a LuckyTemplates asztalon.

Oldalszámozott jelentés készítése: Szövegek és képek hozzáadása

Oldalszámozott jelentés készítése: Szövegek és képek hozzáadása

Ismerje meg, hogyan hozhat létre oldalszámozott jelentést, hogyan adhat hozzá szövegeket és képeket, majd exportálhatja a jelentést különböző dokumentumformátumokba.

A SharePoint automatizálási szolgáltatás | Bevezetés

A SharePoint automatizálási szolgáltatás | Bevezetés

Ismerje meg, hogyan használhatja a SharePoint automatizálási funkcióját munkafolyamatok létrehozására, és segít a SharePoint-felhasználók, -könyvtárak és -listák mikrokezelésében.

Oldja meg az adatelemzési kihívást a LuckyTemplates Accelerator segítségével

Oldja meg az adatelemzési kihívást a LuckyTemplates Accelerator segítségével

Fejlessze jelentéskészítési készségeit, ha csatlakozik egy adatelemzési kihíváshoz. Az Accelerator segítségével LuckyTemplates szuperfelhasználóvá válhatsz!

Összesítések futtatása a LuckyTemplates alkalmazásban a DAX segítségével

Összesítések futtatása a LuckyTemplates alkalmazásban a DAX segítségével

Ismerje meg, hogyan számíthatja ki a futó összegeket a LuckyTemplates programban a DAX segítségével. Az összesítések futtatása lehetővé teszi, hogy ne ragadjon le egyetlen egyéni eredménynél sem.

A LuckyTemplates Dax-változói állandóak: mit jelent ez?

A LuckyTemplates Dax-változói állandóak: mit jelent ez?

Ismerje meg a változók fogalmát a DAX-ban a LuckyTemplates-en belül, és a változók hatásait a mérőszámok kiszámítására.

LuckyTemplates lejtődiagram: Áttekintés

LuckyTemplates lejtődiagram: Áttekintés

Tudjon meg többet a LuckyTemplates Slope diagram nevű egyéni vizualizációról, amely egyetlen vagy több mérőszám növekedésének/csökkenésének megjelenítésére szolgál.

LuckyTemplates színes témák az egységes vizualizációkhoz

LuckyTemplates színes témák az egységes vizualizációkhoz

Fedezze fel a LuckyTemplates színtémáit. Ezek elengedhetetlenek ahhoz, hogy jelentései és vizualizációi zökkenőmentesen nézzenek ki és működjenek.

Átlag kiszámítása LuckyTemplatesben: Hétköznapi vagy hétvégi eredmények elkülönítése a DAX segítségével

Átlag kiszámítása LuckyTemplatesben: Hétköznapi vagy hétvégi eredmények elkülönítése a DAX segítségével

Az átlag kiszámítása a LuckyTemplates alkalmazásban számos módon elvégezhető, hogy pontos információkat kapjon üzleti jelentéseihez.

LuckyTemplates Theming | LuckyTemplates Desktop Standard Theming

LuckyTemplates Theming | LuckyTemplates Desktop Standard Theming

Nézzük meg a Standard LuckyTemplates Theming témakört, és tekintsünk át néhány olyan funkciót, amely magában a LuckyTemplates Desktop alkalmazásban található.