ORDER BY med case-statement DESC

  • Sådan ORDER BY med en CASE -erklæring
    • første gruppe: nulværdier i dato-kolonne Col1 sorteret efter dato-kolonne Col2 DESC
    • anden gruppe: ikke-nul-værdier i dato-kolonne- Col1 sorteret efter Col1 DESC

Jeg har prøvet følgende:

SELECT columns FROM tables WHERE condition
ORDER BY 
    case when Table1.Col1 IS NULL     then 0 end, Table2.Col2 DESC,
    case when Table1.Col1 IS NOT NULL then 1 end, Table1.Col1 DESC

Men sorteringsrækkefølgen er forkert, IKKE NULL-værdierne er først (sorteret efter Col2 i stedet for Col1). Jeg tror, ​​jeg har savnet en detalje.

6
задан Tim Schmelter 7 July 2011 в 08:06
поделиться