如图哈!
解决方案 »
- SQL双循环插入数据
- 有关vs2010 与 sql server2008安装的问题
- 怎样设置特殊的默认值 sqlserver create table
- 同样的表中数据相加的问题,应该很简单,就是我不会
- 数据库一直在同步,突然不能创建合并发布了,提示您不能在此数据库中创建合并发布,因为它包含一个或多个匿名合并订阅或本地合并订阅。
- 处理时间段SQL
- 异地数据库连接高手请帮忙!
- sql server2000是否可以安装在win2000 professional下面。如果不能,那么安装sql server7如何??
- sybase中是否有类似MS SQL Server动态执行SQL语句(execute)?
- 请问大家为什么win98下不能通过驱动程序接口驱动oracle
- <>和!=有啥区别?
- 求大神帮忙看看这这问题
(case when a.成绩>=60
'及格'
else
'不及格' end ) as 分类
from yourtable a
if object_id('a6') is not null
drop table a6
go
create table a6
(
NAME NVARCHAR(20),
grade int
)go
insert into a6
select '小同1',70 union all
select '小同2',65 union all
select '小同3',20 union all
select '小同4',12 union all
select '小同5',80
go
select *,
(case when grade >=60 then '及格' else '不及格' end)[分类] from a6
晕,我没有说清,搞的有了三个条件,就不会了,如果大于等于80为优秀,小于80大于等于60为及格,不于60为不及格
三个条件照样用case就O了
分类=case when 成绩>=80 then '优秀'
when 成绩>=60 then '及格'
else '不及格' end
建议楼主看下case的用法。
if object_id('a6') is not null
drop table a6
go
create table a6
(
NAME NVARCHAR(20),
grade int
)
go
insert into a6
select '小同1',70 union all
select '小同2',65 union all
select '小同3',20 union all
select '小同4',12 union all
select '小同5',80
----------------------------------
Select *,Case
When grade < 60 then '不及格'
When grade >60 And grade <80 then '及格'
else '优秀' end as fg
From a6
------------用计算列
Alter table a6
add fg as (Case When grade< 60 then '不及格'
else Case when grade < 80 then '及格'
else '优秀' end
end )
Select *
From a6
----------------
小同1 70 及格
小同2 65 及格
小同3 20 不及格
小同4 12 不及格
小同5 80 优秀
用计算列呢。
select 姓名,
成绩,
case when 成绩>=80 then '优秀'
when 成绩<80 and 成绩>=60 then '及格'
when 成绩<60 then '不及格' end '分类'
from [表名]
晕,我没有说清,搞的有了三个条件,就不会了,如果大于等于80为优秀,小于80大于等于60为及格,不于60为不及格
case 语法你不懂???
楼主是想问EXCEL函数的写法呢还是SQL的写法?
SQL用CASE就可以搞定
EXCEL用if函数也可以搞定。。