以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  根据查询不同的别名  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101712)

--  作者:HappyFt
--  发布时间:2017/6/6 7:35:00
--  根据查询不同的别名
sql数据表入库单字段有  料号,品名,数量,单位,品质判定   其中品质判定有未填写,合格,选别,报废四种值
现在查询时数量列想根据不同的品质判定显示为不同的别名要怎么定SQL语句如

se lect 料号,品名,case 数量 when 品质判定 is null then as 待检数量 
                                     when 品质判定 = \'合格\' then as 合格数量
                                     when 品质判定 = \'选别\' then as 不良数量

上面写法总不对,要怎么写才可以?

谢谢!

--  作者:有点色
--  发布时间:2017/6/6 8:45:00
--  

 你的思路就有问题。

 

 一个表,一列,只能显示一个标题,如果你表数据有多行,数量列有多个值,那要怎么显示?

 

 或者你可以弄成三列,对应的值赋值到对应的列去。


--  作者:HappyFt
--  发布时间:2017/6/6 9:27:00
--  
明白了,换种方式新增一列为数据类型就可以了
se lect 料号,品名,数量,
case WHEN 品质判定 IN ( \'合格\', \'特采\' ) THEN
           \'合格数量\'
        WHEN 品质判定 IN ( \'选别\', \'退货\' ) THEN
            \'不良数量\'
        WHEN 品质判定 = \'报废\' THEN
            \'报废数量\'
                    ELSE
            \'待检数量\'
    END AS 数量类别

谢谢!