I have a query as
select name, age, address from employee order by name
Now i want to do sorting as ASC or DESC in order by clause dynamically.
I tried something like this :-
declare @.Order int
set @.Order = 1
select name, age, address from employee
order by name
CASE
WHEN @.Order = 0 THEN ASC
WHEN @.Order = 1 THEN DESC
END
But its giving me error, Is it correct or is there any other way to do conditional sorting?
order by is usually the last statement in a query and u cant do it this way...simple way is use if-else ...
if(@.order=1)
select ...order by name desc
else
select ...order bu name asc
u may try to use dynamic sql and achive it too, but its not adviseable...
|||Use the following query it is a conditional sorting...
Declare @.Order int
Set @.Order = 1
Selecct name, age, address from employee
Order By
CASE WHEN @.Order = 0 THEN Name End ASC,
CASE WHEN @.Order = 1 THEN Name End DESC
No comments:
Post a Comment