Ik zit met een probleem wat niet zo moeilijk lijkt, maar waar ik nu even niet meer uitkom (blackout?).
Ik heb een tabel met de volgende relevante kolommen:
Er is per tijdsbestek maar één tarief mogelijk, geen overlap dus.
Nu wil ik per traject het tarief selecteren dat nu geldig is of het dichtstbijzijnde in de toekomst.
Ik het eerste wat me dan te binnen schiet is gebruik maken van een group by, echter loop ik dan nog vast.
Maar ja, dit gaat natuurlijk nog niet werken ivm de 'tarif' kolom. Volgens mij ontkom ik nu niet aan een subquery, maar ik zie even niet hoe ik deze invulling moet geven.
Ik heb een tabel met de volgende relevante kolommen:
code:
1
| | id | from_id | to_id | valid_from | valid_untill | tarif |
Er is per tijdsbestek maar één tarief mogelijk, geen overlap dus.
Nu wil ik per traject het tarief selecteren dat nu geldig is of het dichtstbijzijnde in de toekomst.
Ik het eerste wat me dan te binnen schiet is gebruik maken van een group by, echter loop ik dan nog vast.
SQL:
1
2
3
| SELECT from_id, to_id, MIN(valid_from), MIN(valid_untill), tarif WHERE valid_untill_date >= CURRENT_DATE GROUP BY from_id, to_id |
Maar ja, dit gaat natuurlijk nog niet werken ivm de 'tarif' kolom. Volgens mij ontkom ik nu niet aan een subquery, maar ik zie even niet hoe ik deze invulling moet geven.
"Chaos kan niet uit de hand lopen"