je moet in gedachten houden dat, op elk gegeven niveau van een CASE statement, zodra de eerste als voorwaarde evalueert naar waar, het dan statement wordt verwerkt, en springt naar einde.

u test geen enkel veld voor vijf verschillende omstandigheden; u test 5 verschillende velden voor een van de twee mogelijke omstandigheden. Er zijn twee manieren om dit aan te pakken. Of je kunt een geneste CASE statement maken 5 niveaus diep (met verdere nesting op elk niveau naar beneden tot 5, wat betekent dat veel herhaalde CASE statements op de verschillende niveaus), of je kunt het plat maken door je wanneer Conditions alle 5 velden te laten bestrijken, en ze zo te ordenen dat er wederzijds exclusieve combinaties voor elk wanneer, bijv.,

geval
wanneer is NULL en is NULL en is NULL en is NULL en is NULL dan
wanneer is niet NULL en is NULL en is NULL en is NULL dan
* * * *

END

beide benaderingen zullen waarschijnlijk ongeveer hetzelfde presteren, dus het is gewoon een vraag welke structuur het makkelijker is om conceptueel te jongleren. Ik, Ik vind nestelen verder dan 3 niveaus vrij verwarrend.

volgens mijn telling zijn er 32 verschillende combinaties van NULL / non-NULL toestanden voor de 5 velden (2^5th), dus met behulp van de platte methode, zou je 32 WHEN statements nodig hebben. Elk dan statement kan nodig zijn om meerdere instructies, bijvoorbeeld, EN EN en.

succes

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.