SQL, taught on the tables a commercial finance team actually works in: vendors, invoices, payments, discounts. Not employees and departments. Forty-eight lessons, a test at every level, and a playground where you run every query yourself.
Levels 1 and 2 are open to everyone. No card to start.
Recovery on vendor discounts, five vendors, worst gap first.
SELECT v.vendor_name, SUM(d.claimed_inr) AS claimed_inr, SUM(d.recovered_inr) AS recovered_inr, SUM(d.claimed_inr) - SUM(d.recovered_inr) AS pending_inr, ROUND(SUM(d.recovered_inr) * 100.0 / SUM(d.claimed_inr), 1) AS recovery_pct FROM discounts d JOIN vendors v ON v.vendor_id = d.vendor_id GROUP BY v.vendor_name ORDER BY pending_inr DESC LIMIT 5;
| vendor_name | claimed_inr | recovered_inr | pending_inr | recovery_pct |
|---|---|---|---|---|
| Falcon Mobiles | 395000 | 142500 | 252500 | 36.1 |
| Gulf Appliances | 163350 | 60525 | 102825 | 37.1 |
| Aster Electronics | 200400 | 148200 | 52200 | 74 |
| Sahara Sports | 29050 | 0 | 29050 | 0 |
| Nile Home Goods | 15250 | 0 | 15250 | 0 |
1. Raise a request for the discounts dump. Wait. 2. Get the vendor master separately, because the dump has IDs, not names. 3. VLOOKUP the names in. Fix the 6 that come back #N/A. 4. Pivot claimed and recovered by vendor. 5. Add a column for the gap. Add another for the percentage. 6. Sort. Check the total ties to the dump. It doesn't. 7. Find the duplicate rows. Redo the pivot. 8. Next month, do it all again.
Each level ends in a test: eight questions, no hints, and you don't move on until it clears.
Get rows out, name them well, put them in order.
Ask for exactly the rows you want, and nothing else.
Maths, text, and if-then logic inside the query.
Turn 18 invoices into 5 numbers a GM can read.
Where the real work happens: stitching tables together.
Queries inside queries, and how to keep them readable.
Ranking, running totals, and share of total.
Discount recovery, ageing buckets, vendor 360, the queries you'll run at work.
Unlocks all eight levels on your account. Log in from anywhere and carry on where you stopped.
Pay with the same email you use to log in and it unlocks straight away.