问题一
create procedure usp_T1
@isDesc int
as
begin
-- select * from MyTable order by Id
end
我想在这个存储过程中做判断,如果isDesc=1 就降序排序,请补充上面的例子
问题二
两张表
StudentTable
sId int
StudentName varchar(30)
ClassTable
cId int
ClassName varchar(30)
c_sId int
请编写一个存储过程查出所有学生数据,并给结果集添加一列
isInClass
其意义是如果这个学生在ClassTable那么则为1否则为0
问题一:
SELECT * FROM t1 ORDER BY CASE WHEN @isDesc=1 THEN -id ELSE id END
问题二:
如果有多门课,你这里应该有三个表,学生表,课程表,和学生-课程表
下面我的写法,如果有门可能任何学生都没选,则不会出来
SELECT s.sID,s.StudentName,c.ClassName,CASE WHEN c.cId IS NULL THEN 0 ELSE 1 END AS isInClass
FROM StudentTable AS s LEFT JOIN ClassTable AS c ON c.c_sId=s.sId
GROUP BY s.sID,s.StudentName,c.ClassName