日期:2014-05-19  浏览次数:20555 次

CASE 表达式只嵌入10层,超过就会出错。如何解决。。。。。。。。。。。。。。。。。
CASE   表达式只嵌入10层,超过就会出错,
谁有解决办法...........       TKS   !~!~!~!

SELECT  
CASE   sGroupID
WHEN   '0001 '   THEN   '320106 '
WHEN   '0002 '   THEN   '320113 '
WHEN   '0003 '   THEN   '320104 '
WHEN   '0004 '   THEN   '320102 '
WHEN   '0005 '   THEN   '320114 '
WHEN   '0006 '   THEN   '320105 '
WHEN   '0007 '   THEN   '320103 '
WHEN   '0008 '   THEN   '320115 '
WHEN   '0009 '   THEN   '320107 '
WHEN   '000A '   THEN   '320125 '
WHEN   '000B '   THEN   '320198 '
--还没完,还有要转换的
ELSE   '320100 '
END
FROM   PrimaryNew.NDSPrimaryNew.dbo.VCompany  


------解决方案--------------------
你運行的時候提示錯誤了?
------解决方案--------------------
需要:
PrimaryNew.NDSPrimaryNew.dbo.VCompany

PrimaryNew: 链接服务器名
NDSPrimaryNew: 数据库名
VCompany: 表名
------解决方案--------------------
if aa= ' '
begin
case ...
end
else
begin
case ...
end
------解决方案--------------------
可以用goto来加多case
也可以用if elseif elseif 再把case写到case中去就行了
------解决方案--------------------
你写一个字定义函数 多好啊
sql 看起来 也漂亮