buuh :( , det går inge bra för mig!
jag provade varianten nedan, då funkar regdate men inte start- och stopdate,
båda sorterar så att null-värden alltid hamnar överst både på asc och desc.
kanske läge att börja om från början, hur borde koden se ut, om man vill kunna välja kolumn samt stigande/fallande ordning.
CREATE PROCEDURE dbo.sp_viewNews
@Categoryid int,
@Newsid int,
@Sortcolumn int,
@Sortorder int
AS
if @Sortorder = 1
Select N.Newsid, N.Heading, N.Notes, N.Preamble, N.Active, P.Folderpath, P.Imageid,
N.Placement, N.Startdate, N.Stopdate, C.Categoryid, P.Fullname, N.Regdate
From tblNews N
Inner Join tblCategories C On N.Categoryid = C.Categoryid
Left Join tblImages P On N.Imageid = P.Imageid
Where coalesce(@Categoryid, C.Categoryid) = C.Categoryid And
coalesce(@Newsid, N.Newsid) = N.Newsid
Order By
Case @Sortcolumn
When 1 Then N.Heading
End,
Case @Sortcolumn
When 2 Then N.Startdate
End,
Case @Sortcolumn
When 3 Then N.Stopdate
End,
Case @Sortcolumn
When 4 Then N.Active
End,
Case @Sortcolumn
When 5 Then N.Regdate
End
else
Select N.Newsid, N.Heading, N.Notes, N.Preamble, N.Active, P.Folderpath, P.Imageid,
N.Placement, N.Startdate, N.Stopdate, C.Categoryid, P.Fullname, N.Regdate
From tblNews N
Inner Join tblCategories C On N.Categoryid = C.Categoryid
Left Join tblImages P On N.Imageid = P.Imageid
Where coalesce(@Categoryid, C.Categoryid) = C.Categoryid And
coalesce(@Newsid, N.Newsid) = N.Newsid
Order By
Case @Sortcolumn
When 1 Then N.Heading
End,
Case @Sortcolumn
When 2 Then N.Startdate
End,
Case @Sortcolumn
When 3 Then N.Stopdate
End,
Case @Sortcolumn
When 4 Then N.Active
End,
Case @Sortcolumn
When 5 Then N.Regdate
End
Desc
GO