select 语句中可以用IF...ELSE...结构吗?

foreveryouth 2005-03-29 10:35:41
我把问题简化了,主要想问select语句中可否使用IF...ELSE...结构,如果可以如何用,不可以有替代办法吗?

简化问题如下:

我有两个表:
stud表和kecheng表

stud表的字段为stud_id,name
kecheng表的字段为kecheng_id,stud_id,kecheng

我想编写一个存储过程查看某一个学生是否选择了某一门课程.

@stud_id int,
@kecheng_id int
AS
SELECT name,
IF EXISTS(SELECT * FROM kecheng_id WHERE kecheng_id=@kecheng_id AND stud_id=@stud_id)
'选择了'
ELSE
'没选择'
AS Choosed
FROM stud


...全文
1125 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
点点星灯 2005-03-29
  • 打赏
  • 举报
回复
Select语句中不能使用IF...ELSE,
但SQL语句中有IF...ELSE结构,

在SELECT中,用CASE
例如:
select a.Cname as Tcomname,b.Cname as TGoodname,D.nQuanty,c.cNote
, (case when c.iEvaluate='-1' then '差评'
when c.iEvaluate='1' then '好评'
when c.ievaluate='0' then '一般' end) as ievaluate
from Tcompany a,Tgoods b,Appraise c,orders D
where b.ID=D.nProductID and D.Id=c.order_id and a.Id=b.NsaID
and b.NsaID=@TcomID
talantlee 2005-03-29
  • 打赏
  • 举报
回复
select 語句 可以用case when ...then....end你隻要設計好數據庫,功能跟if else 差不多
paoluo 2005-03-29
  • 打赏
  • 举报
回复
Select语句中不能使用IF...ELSE,不过你的可以这样该


@stud_id int,
@kecheng_id int
AS
IF EXISTS(SELECT * FROM kecheng_id WHERE kecheng_id=@kecheng_id AND stud_id=@stud_id)
SELECT name,'选择了' AS Choosed FROM stud
Else
SELECT name,'没选择' AS Choosed FROM stud

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧