[SQL] Bereken waarden vanuit wijzigende/berekende velden

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • spokey
  • Registratie: November 2000
  • Laatst online: 15-01 16:42
Eerst wil ik even zeggen dat 'programmeren' in SQL helemaal nieuw voor mij is, normaal maak in alleen printlijsten/rapportages waarin ik gebruik kan maken van bekenden velden, query’s etc. dus als ik kreten en/of termen door elkaar haal of een onduidelijke vraagstelling heb alvast mijn excuses daarvoor.

Mijn vraag is, hoe kan ik vanuit twee velden, waarvan de waarden wijzigen en waarvan één veld ook berekend wordt, een nieuwe berekening maken welke op een rapport komt.

Ik zal hieronder uitleggen wat ik bedoel:

Op een rapport moeten een drietal gegevens komen: SBU (Studie Belasting Uren) per gekozen keuzedeel (bvekeuzedeel.SBU), totaal aantal verplichte SBU`s (SBU_keuzedeelverplichting) en resterend aantal verplichte SBU`s (SBU_resterend_keuzedeelverplichting).

Het veld bvekeuzedeel.SBU is een bestaand veld en haalt zijn gegevens vanuit een ander deel van het programma. (240 of 480 uren afhankelijk van het keuzedeel)

SBU_keuzedeelverplichting heb ik zelf gemaakt hiervoor heb ik de onderstaande calculatie/query gemaakt.
Op basis van het Crebo nr. waarin een student staat ingeschreven,- en bij twee Crebo`s op basis van opleidingsniveau, wordt het aantal uren bepaald.
CASE WHEN (sis_bins.ow_code) IN (25153, 25155, 25162, 25132, 25134, 25138, 25139, 25151, 25152, 25498, 25499) THEN '720' WHEN (sis_bins.ow_code) IN (25477, 25478, 25480) THEN '960' WHEN (sis_bins.ow_code) IN (25475, 25476, 25484, 25485, 25486, 25491) THEN '720' WHEN (sis_bins.ow_code) = 23181 AND (Overeenkomst.Niveau) = 4 THEN '960' WHEN (sis_bins.ow_code) = 23181 AND (Overeenkomst.Niveau) = 3 THEN '720' ELSE '' END
Waar ik nu dus naar opzoek ben is een nieuwe berekening die ik SBU_resterend_keuzedeelverplichting wil noemen en welke de volgende berekening maakt:
SBU_keuzedeelverplichting - bvekeuzedeel.SBU = SBU_resterend_keuzedeelverplichting

Alle reacties


Acties:
  • 0 Henk 'm!

  • Robicide
  • Registratie: Maart 2016
  • Laatst online: 23:12
In principe kun je SBU_keuzedeelverplichting prima in een subquery kwijt die je daarna middels een join aan de rest koppelt. Zo kun je die kolom weer in je hoofdquery gebruiken.

Acties:
  • 0 Henk 'm!

  • spokey
  • Registratie: November 2000
  • Laatst online: 15-01 16:42
Misschien toch maar een professional er na laten kijken, sommige dingen lukt mij prima met wat uitzoek werk zoals bovenstaande query die ik gemaakt had, maar ik zie zo niet hoe ik dit moet doen.

Maar uiteraard bedankt voor je bericht.

[ Voor 9% gewijzigd door spokey op 14-06-2016 13:15 ]


Acties:
  • 0 Henk 'm!

  • Robicide
  • Registratie: Maart 2016
  • Laatst online: 23:12
Hoe ziet je hele query eruit? Ik heb nu toch niks te doen :9