HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Az SQL Builder használata


SQL Builder 2. rész

Példaprogram letöltése

4556 bájt

A cikk második részében az SQL Builder eddig nem tárgyalt lehetőségeiről lesz szó. Megnézzük, hogy hogyan tudunk mezők szerint csoportosított, valamint több táblás lekérdezéseket készíteni.

Egy SQL lekérdezést csoportosíthatunk akár több mező szerint is (GROUP BY). Ezt általában akkor használjuk, amikor a mezők adatait összegezzük, vagy más hasonló műveletet végzünk velük. Ha csoportosítunk, akkor a csoportosításban az összes egyszerű mezőnek szerepelnie kell.
Nézzünk egy egyszerű példát: adott egy tábla, amelyben egy cég dolgozóinak fizetései vannak tárolva havi bontásban. Ez legalább három mezőt feltételez: a dolgozó egyedi azonosítója (A), a dátum (B), és végül a kifizetett összeg (C). Ha egy listát szeretnénk arról, hogy egy-egy dolgozó eddig összesen mennyi fizetést kapott, akkor egy olyan lekérdezést kell készítenünk, amelyben a C mező értékét összegezzük az A mező szerint csoportosítva. Ekkor a Selection lapon megadjuk az A mezőt, valamint egy kalkulált mezőt a SUM(C) függvénnyel. Ekkor az A mező automatikusan csoportosító mező lesz, tehát a Grouping lapon átkerül a Grouped On listába. Ennek eredménye az lesz, hogy a lekérdezés minden rekordja egy-egy dolgozóhoz fog tartozni, és a dolgozó azonosítója mellett megjelenik a neki eddig kifizetett összeg.
A Grouping Criteria lapon a csoportosítás feltételeit adhatjuk meg. A Criteria lapon megadható feltételekkel itt nem mezőket adunk meg, hanem kifejezéseket. Itt is háromféle feltétel megadási mód közül választhatunk:
  • SQL Expression: a feltételt SQL kifejezéssel adjuk meg;
  • Simple Having Summary Expression: egy kifejezést hasonlítunk össze egy mezővel, vagy egy konstans értékkel;
  • Two Summary Expression: két kifejezés eredményét hasonlítjuk össze.
A Sorting lapon megadhatjuk azokat a mezőket, amelyek tartalma szerint rendezni kívánjuk a lekérdezés eredményét. A jobboldali listába kell áttenni a rendezésben résztvevő mezőket az Add gombbal. Az elsődleges rendezési szempont a listában legfelül lévő mező, majd az alatta lévő, és így tovább. A mezők sorrendjét a lista fölött látható fekete nyilakkal lehet módosítani. Az „A..Z” és „Z..A” kapcsolókkal állíthatjuk, hogy a rendezés növekvő (Ascending), vagy csökkenő (Descending) legyen-e.
Ha többtáblás lekérdezést készítünk, akkor két lehetőségünk van a táblák összekapcsolására. Az egyik, hogy a Criteria lapon a kapcsolódó mezők egyenlőségét adjuk meg feltételnek. A másik módszer a Joins lap használata, amit tulajdonképpen csak a kapcsolat részleteinek beállítására érdemes használni. A kapcsolatot ugyanis megadhatjuk egyszerűen úgy is, hogy a táblák kapcsolódó mezőit egyszerűen egymásra húzzuk. Ekkor egy egyszerű INNER JOIN kapcsolat jön létre, ami meg is jelenik a Joins lapon.
Mivel kettőnél több táblát is használhatunk egy lekérdezésben, így több tábla kapcsolatainak szerkesztésére is szükség van. A lista fölötti legördülő listából kiválaszthatjuk, hogy melyik táblák kapcsolatait szeretnénk szerkeszteni. A szerkesztendő kapcsolatot a Table Pane ablakban is kiválaszthatjuk, egyszerűen a kapcsolatot reprezentáló vonalra kattintva.
Jobb- és baloldalon találunk két kapcsolót (Include Unmached Records). Ha a kapcsoló be van kapcsolva, akkor a hozzá tartozó tábla összes rekordja szerepelni fog a lekérdezés eredményében, attól függetlenül, hogy a kapcsolódó táblában van-e a kapcsolatban megadott feltételnek megfelelő rekord.

Cikksorozat

#IDKategóriaCikk címeSorozat
1018DelphiVonalkód készítő komponens1. rész
1028DelphiVonalkód nyomtatása a QuickReport-al2. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 29. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |