以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助SQL语句。 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77415) |
-- 作者:lihe60 -- 发布时间:2015/11/18 8:46:00 -- 求助SQL语句。 班级 姓名 语文 一班 张三 40 一班 李四 60 一班 王五 70 一班 张三 20 一班 李四 10 一班 王五 5
上面是SQL数据库
如果张三的语文总分不为0或空,显示 张三 60 如果张三的语文总分为0或空,显示 李四 70 如果张三和李四的语文总分为0或空,显示 王五 75
这样的SQL语句如何写。 不知我的意思写清楚没有。 |
-- 作者:Hyphen -- 发布时间:2015/11/18 8:54:00 -- 条件语句 Case When
http://www.foxtable.com/help/topics/1827.htm
|
-- 作者:大红袍 -- 发布时间:2015/11/18 9:23:00 -- 不明白你什么意思,又为什么要这样做?而且姓名不可能只有三个啊。 |
-- 作者:lihe60 -- 发布时间:2015/11/18 9:39:00 -- 以下是引用大红袍在2015/11/18 9:23:00的发言:
不明白你什么意思,又为什么要这样做?而且姓名不可能只有三个啊。 、如果张三有成绩,只取张三的成绩,并显示语文。 |
-- 作者:大红袍 -- 发布时间:2015/11/18 9:49:00 -- 取出语文大于0的表格。
select case 姓名 when \'张三\' then 1 when \'李四\' then 2 when \'王五\' then 3 else 4 End as 排序, * f rom {表A} where 语文 > 0
然后你对 排序 列进行一下排序,取第一条即可。 |