user3314032 user3314032 - 2 months ago 14
SQL Question

Multi order by column, and criteria

I got a problem ordering by columns. First i need to have it like it selects out here. but in the Olie i need to have it place after the "x.x" in way, and before the where way hasn't been set to anything, but it needed to be sorted after the text in the Hidden column.

My current Order by in SQL

ORDER BY CASE WHEN [Way] = '' THEN 2 ELSE 1 END, [Way]


//The Wrong Way (What it is now)

Hidden Colum Pt Way
Tilsætning_20_prioritet_01 0 0.3
Tilsætning_01_prioritet_01 1 1.0
Tilsætning_12_prioritet_01 1 1.0
Tilsætning_21_prioritet_01 2 2.0
Tilsætning_22_prioritet_01 2 2.0
Tilsætning_23_prioritet_01 2 2.0
Tilsætning_24_prioritet_01 2 2.0
Tilsætning_25_prioritet_01 2 2.0
Tilsætning_27_prioritet_01 2 2.0
Tilsætning_26_prioritet_01 3 3.0
Tilsætning_08_prioritet_01 0 Olie
Tilsætning_09_prioritet_01 0 Olie
Tilsætning_03_prioritet_01 0 Olie
Tilsætning_06_prioritet_01 0 Olie
Tilsætning_07_prioritet_01 0 Olie
Genbrug_prioritet_01
Vand


The Right Way (what i need)

Hidden Colum Pt Way
Tilsætning_20_prioritet_01 0 0.3
Tilsætning_01_prioritet_01 1 1.0
Tilsætning_12_prioritet_01 1 1.0
Tilsætning_21_prioritet_01 2 2.0
Tilsætning_22_prioritet_01 2 2.0
Tilsætning_23_prioritet_01 2 2.0
Tilsætning_24_prioritet_01 2 2.0
Tilsætning_25_prioritet_01 2 2.0
Tilsætning_27_prioritet_01 2 2.0
Tilsætning_26_prioritet_01 3 3.0
Tilsætning_03_prioritet_01 0 Olie
Tilsætning_06_prioritet_01 0 Olie
Tilsætning_07_prioritet_01 0 Olie
Tilsætning_08_prioritet_01 0 Olie
Tilsætning_09_prioritet_01 0 Olie
Genbrug_prioritet_01
Vand


Anyone have any clues, or ways i need to archive this?

Edit
When tried

ORDER BY CASE WHEN [Way] = '' THEN 2 ELSE 1 END, Hidden Colum

Tilsætning_01_prioritet_01 1 1.0
Tilsætning_02_prioritet_01 1 1.0
Tilsætning_03_prioritet_01 0 Olie
Tilsætning_04_prioritet_01 0 Olie
Tilsætning_05_prioritet_01 0 Olie
Tilsætning_06_prioritet_01 0 Olie
Tilsætning_07_prioritet_01 0 Olie
Tilsætning_08_prioritet_01 0 Olie
Tilsætning_09_prioritet_01 0 Olie
Tilsætning_10_prioritet_01 0 Olie
Tilsætning_11_prioritet_01 1 1.0
Tilsætning_12_prioritet_01 1 1.0
Tilsætning_13_prioritet_01 0 0.0
Tilsætning_14_prioritet_01 0 0.0
Tilsætning_15_prioritet_01 0 0.1
Tilsætning_16_prioritet_01 0 0.1
Tilsætning_17_prioritet_01 0 0.2
Tilsætning_18_prioritet_01 0 0.2
Tilsætning_19_prioritet_01 0 0.2
Tilsætning_20_prioritet_01 0 0.3
Tilsætning_21_prioritet_01 2 2.0
Tilsætning_22_prioritet_01 2 2.0

Answer

Include HiddenColumn as last item in the ORDER BY clause:

ORDER BY CASE WHEN [Way] = '' THEN 2 ELSE 1 END, [Way], HiddenColumn