两个存储过程问题

发布于 2022-09-01 18:40:24 字数 469 浏览 12 评论 0

问题一

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡莣 2022-09-08 18:40:24

问题一:

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文