日期:2014-05-18  浏览次数:20447 次

請教:關于CASE問題 在線等!
不知道為什么代碼沒有問題,但是輸出的工齡全部都是老員工,是不是哪里出了問題
希望高手指點....小弟才入門不久!
USE   study
GO
SELECT     工齡   =  
            CASE  
                  WHEN   工號 < '5000 '   and   工號> '0 '   THEN   '老員工 '
                  WHEN   工號! < '5000 '   and   工號 < '10000 '   THEN   '中老員工 '
                  WHEN   工號! < '10000 '   and   工號 < '20000 '   THEN   '中員工 '
                  WHEN   工號! < '20000 '   THEN   '新員工 '
                  ELSE   '不存在 '
                  END,
工號,姓名,部門名稱,sum(消費金額)消費金額
FROM   study
group   by   工號,姓名,部門名稱
GO

------解决方案--------------------
SELECT 工齡 =
CASE
WHEN cast(工號 as int) <5000 and cast(工號 as int)> 0 THEN '老員工 '
WHEN cast(工號 as int)! <5000 and cast(工號 as int) <10000 THEN '中老員工 '
WHEN cast(工號 as int)! <10000 and cast(工號 as int) <20000 THEN '中員工 '
WHEN cast(工號 as int)! <20000 THEN '新員工 '
ELSE '不存在 '
END,
工號,姓名,部門名稱,sum(消費金額)消費金額
FROM study
group by 工號,姓名,部門名稱