首页 > 两个存储过程问题

两个存储过程问题

问题一

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
【热门文章】
【热门文章】