SQL

Ach, zo dag na dag de kleine geneugten van propere platformen terugvinden, ‘t is een beetje gelijk na een lange afwezigheid in het buitenland oude vrienden weer tegen het lijf lopen.

Vermoed ik toch. Niet dat ik al lang in het buitenland gezeten heb

Maar toch, aangenaam terug kennis te maken met altijd dezelfde vragen en oplossingen—case in point:

select case when datefrom is not null then datefrom else case when showfrom is not null then case when showfrom > datecreation then showfrom else datecreation end else datecreation end end eventdate, case when showfrom is not null then case when showfrom > datecreation then showfrom else datecreation end else datecreation end sortdate from tblevents order by sortdate desc

Als de datum van ingevuld is, dan is de datum de datum van, anders datum de aanmaakdatum tenzij de datum vanaf wanneer het getoond mag worden later is dan de aanmaakdatum, tenzij wanneer er geen datum is vanaf wanneer het getoond mag worden, want dat is het de datum van aanmaak.  En de sorteerdatum is normaal gezien de datum vanaf wanneer het getoond mag worden, tenzij de datum van aanmaak later is dan die datum, tenzij de datum vanaf wanneer het getoond mag worden niet ingevuld is, want dan is het hoedanook de datum van aanmaak.

In ‘t proper ge├»ndenteerd:

select
  case
    when datefrom is not null then datefrom
    else
      case
        when showfrom is not null then 
          case when showfrom > datecreation then 
            showfrom else datecreation end
        else datecreation
      end
  end
  eventdate,
  case
    when showfrom is not null then 
      case when showfrom > datecreation then 
        showfrom else datecreation end
    else datecreation
  end
  sortdate
from tblevents
order by sortdate desc

Ik vermoed dat ik er wel fouten in zal zitten hebben, maar er is voor het moment op het bureau teveel muziek aan ‘t spelen om me erop te concentreren—we zien wel als wanneer het in het honderd loopt

Elders over misschien hetzelfde

27.02.2014: Links van 24 februari 2014 tot 27 februari 2014 | 19.07.2013: 11% | 25.03.2013: Op zoek naar volk | 28.01.2013: Evaluatie | 06.01.2013: Einde vakantie, begin 2013 | 28.12.2012: De laatste | 20.12.2012: Een dagje Amsterdam | 15.12.2012: Vergaderingen, vergaderingen | 14.12.2012: Feestje! | 16.08.2012: Eerste werkdag

2 Comments

Zeg uw gedacht

Navigatie

Vorige entry:

Volgende entry:

» homepagina, archief

Vriendjes

<insert standard disclaimer>

Alles wat hier staat is mijn eigen opinie. Het wordt niet nagelezen of goedgekeurd door mijn werkgever voor het on-line komt, en ik bied geen enkele garantie voor kwaliteit of correctheid.

Mijn werkgever is het niet noodzakelijk eens met wat ik schrijf, en het spreekt vanzelf dat hij dan ook op geen enkele wijze aansprakelijk kan zijn voor wat ik hier publiceer.