c# ACCESS数据库case语句查询问题

c# ACCESS数据库case语句查询问题,第1张

给C#没关系,ACCESS不支持when case 语句,如果数据量不是特别大的话可以把查询到的结果在上层处理下。实在想用SQL语句解决问题,ACCESS有个IFF函数有类似功能,可以百度下。

select 课程,

sum(case when 姓名='李四' then 成绩 end)as '李四',

sum(case when 姓名='张三' then 成绩 end)as '张三'

from table_2

group by 课程

--意思是:

查询结果按照“课程”、“李四的成绩”、“张三的成绩”显示出来,

其中“李四的成绩”计算方法是:

当姓名=李四,那么就计算将该行的成绩按照课程进行分类加总

“张三的成绩”计算方法是:

当姓名=张三,那么就计算将该行的成绩按照课程进行分类加总

select 姓名,

sum(case when 课程='语文' then 成绩 end)as '语文',

sum(case when 课程='数学' then 成绩 end)as '数学',

sum(case when 课程='英语' then 成绩 end)as '英语'

from table_2

group by 姓名

--类似的意思是:

查询结果按照“姓名”、“语文”、“数学”、“英语”按照姓名进行加总各科成绩显示出来,

其中“语文”成绩计算方法是:

当科目=语文,那么就计算将该行的成绩按照姓名进行分类加总

“数学”成绩计算方法是:

当科目=数学,那么就计算将该行的成绩按照姓名进行分类加总

“英语”成绩计算方法是:

当科目=英语,那么就计算将该行的成绩按照姓名进行分类加总

case when 条件 then 表达式1 else 表达式2 end

表示:当条件成立,则返回表达式1,否则返回表达式2

因此:sum(case when 姓名='李四' then 成绩 end)as '李四', 表示如果姓名为李四,则加总计算成绩,列名为‘李四’

类似的楼主可以自己理解了。

来个例子:

CHOOSE CASE Real(sle_realText)

CASE is < 1099999

sle_messageText = "Real Case < 1099999"

CASE 1100 to 4899999

sle_messageText = "Real Case 11 to 489999

CASE is > 489999

sle_messageText = "Real Case > 489999"

CASE ELSE

sle_messageText = "Cannot evaluate!"

END CHOOSE

select case citemname when '1' then 'A' when '2' then 'B' end citemname from fitemss98

只是一个例子,其他的字段以及条件你酌情调整

select case when type = 1 then ‘正常’ when type = 0 then ‘暂停’ else '' end as '状态'

from proudct ;

不知道你具体什么数据库,,给出sqlserver,你上面写的就对了,

给你写出详细的测试记录吧

CREATE TABLE test(a INT,b VARCHAR(10))

INSERT INTO dbotest

( a, b )

SELECT 1,'a'

UNION ALL

SELECT 2,'b'

UNION ALL

SELECT null,'c'---这里加了一条数据,便于你看出结果

SELECT a,b,c=(CASE WHEN ISNULL(a,'')='' THEN null ELSE b END)--注个人喜欢用isnull()函数

FROM test结果:

1

a

a

2

b

b

NULL

c

null

改为

if @ID=1

begin

select

end

else if @ID=2

begin

select

end

else

begin

select

end

以上就是关于c# ACCESS数据库case语句查询问题全部的内容,包括:c# ACCESS数据库case语句查询问题、求详解SQL的CASE函数语句含义、数据库中choose case语句使用方法和例题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9345339.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存