webForumDet fria alternativet

order by if and case

4 svar · 220 visningar · startad av doggelito

doggelitoMedlem sedan juni 20003 076 inlägg
#1

Går denna att få till?

ORDER BY 
    if(@GroupLock = 1)
    begin
        g.GroupIDno Desc,
    end
    CASE WHEN @Sortcolumn = 1 AND @Sortorder = 1 THEN p.ArticleNr END,
    CASE WHEN @Sortcolumn = 1 AND @Sortorder = 2 THEN p.ArticleNr END DESC,
    ...osv

Är @GroupLock 1 så ska order bli ex.

Order By g.GroupIDno Desc, p.ArticlaNr
m_soderlundMedlem sedan sep. 20026 425 inlägg
#2

..varför testar du inte?

doggelitoMedlem sedan juni 20003 076 inlägg
#3

m_soderlund skrev:

..varför testar du inte?

testar? kee! jag frågar väl inte om det funkar heller! :q

man får inte ha en if-sats i en order by, så mycket vet jag.
utan koden illustrerar bara hur jag vill att det ska funka.

LarsGMedlem sedan dec. 200012 464 inlägg
#4
Order By 
case when @groupLock = 1 then g.GroupIDno end Desc
doggelitoMedlem sedan juni 20003 076 inlägg
#5

ahh, så klart man kan göra likadant som de övriga case:arna!
jag fick för mig att @GroupLock-casen skulle ignoreras då den hoppar ner till de övriga case:arna men det gör den så klart inte! :)

tack LarsG :bire

140 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)