我有一个VIEW,是一个比较复杂的SELECT语句构成,其中有:CASE WHEN s.Country = N'CN' OR
      s.Country = N'JP' OR
      s.Country = N'KR' THEN LEFT(cast(isnull(st.[Name], N'') AS nvarchar(10)), 5) 
      ELSE cast(isnull(s.State, N'') AS nvarchar(10)) END AS STSTAT,
我想改成:CASE WHEN s.Country = N'CN' OR
      s.Country = N'JP' OR
      s.Country = N'KR' THEN LEFT(cast(isnull(st.[Name], N'') AS nvarchar(10)), 10) 
      ELSE cast(isnull(s.State, N'') AS nvarchar(10)) END AS STSTAT
其它好几个VIEW都用到这个VIEW,SQL提示“The Query Designer does not support the CASE SQL Construct”,不让我保存,我该怎么办?
重建,也提示::“The Query Designer does not support the CASE SQL construct.”怎么回事呀?我该如何做?

解决方案 »

  1.   

    应该没有问题,不知道楼主的CASE WHEN语句是放在什么位置?能贴上来看看吗
      

  2.   

    -- 你的可以改成下面的CASE WHEN s.Country in ('CN','JP','KR') 
    THEN LEFT(cast(isnull(st.[Name], N'') AS nvarchar(10)), 10) 
    ELSE cast(isnull(s.State, N'') AS nvarchar(10)) 
    END AS STSTAT
      

  3.   

    依旧是:“The Query Designer does not support the CASE SQL construct.”它的意思是不是在查询设计里不能用到CASE呀?