A megoldandó feladat tehát az, hogy miként határozhatjuk meg egy számokat tartalmazó oszlop elemei közül az n. legnagyobbat.
Példánkban elkészítettük a megoldást mind MS SQL Server, mind pedig Oracle rendszerben kipróbálható verzióban. A Form TabControl vezérlőjében a két fül alatt érhetők el a megvalósítások.
MS SQL Server
A MS SQL Server-t használó megoldásban a Northwind adatbázis Products tábláját használjuk fel, ezen belül a UnitPrice oszlop értékei közül kérdezzük le az elemek sorában a megadott számnak megfelelőt.
A Products táblában 62 darab, különböző árral rendelkező termék van, így a megadott számnak 1 és 62 közé kell esnie.
Az SQL-utasítás a következő az SQL Server verzióban:
SELECT UnitPrice
FROM Products a
WHERE <megadott szám>=
(SELECT COUNT(DISTINCT UnitPrice)
FROM Products b
WHERE a.UnitPrice <= b.UnitPrice)
Oracle
Az Oracle-t használó megoldásban a beépített SCOTT (jelszó TIGER) felhasználó sémájában megtalálható EMP adattáblát használjuk fel, ezen belül is a SAL oszlop elemeit. Itt 11 darab, különböző értékkel rendelkező elemet találunk, a megadott szám így 1 és 11 közöttinek kell lennie.
Értelemszerűen a SAL oszlopot feltüntetve az utasításban áll össze az Oracle-rendszerben lefuttatandó változat.
SELECT sal
FROM emp a
WHERE <megadott szám>=
(SELECT COUNT(DISTINCT sal)
FROM emp b
WHERE a.sal <= b.sal)
A művelet mindkét megvalósítás esetén a LEKÉRDEZÉS gombbal indítható, ekkor történik meg a SqlCommand, illetve az OleDbCommand komponensek CommandText property-jének feltöltése a kulcsfontosságú SQL-utasítással.