Mam problem z moją instrukcją SQL: Używam instrukcji SELECT, a następnie CASE, gdy używam kolejności według.T SQL case statement z porządkiem pierwotnym i wtórnym według parametru
SELECT .....
ORDER BY
CASE WHEN @sort = 'ND' THEN name END DESC,
CASE WHEN @sort = 'NA' THEN name END,
CASE WHEN @sort = 'AD' THEN (isAuthorized) END DESC,
CASE WHEN @sor = 'AA' THEN (isAuthorized) END
isAuthorized jest wartością BIT, więc chciałbym użyć tam rzędu drugorzędnego.
Próbowałem coś takiego:
SELECT .....
ORDER BY
CASE WHEN @sort = 'ND' THEN name END DESC,
CASE WHEN @sort = 'NA' THEN name END,
CASE WHEN @sort = 'AD' THEN (isAuthorized, name) END DESC,
CASE WHEN @sort = 'AA' THEN (isAuthorized, name) END
Ale to nie działa.
Używam serwera SQL 2008.
Każda pomoc będzie mile widziana.
Chciałem czegoś przeciwnego, najpierw przez autoryzowanego, a potem według nazwy (jak sortuję według wielu kolumn). Ale twoja odpowiedź wskazała mi właściwy kierunek, ponieważ nie wiedziałem, jak połączyć więcej niż jedno zamówienie za pomocą instrukcji. Dzięki za kilka ... ocenione i oznaczone jako odpowiedź;) – CyberHawk
Cieszę się, że pomógł! –