用case创建sql视图

时间:2017-04-04 09:40:56

标签: sql

我有一个名为VWDRSSTA的表,它有以下字段 系统, 本生; DATUM_ZEIT, ANTRAGSNUMMER,VORGANGSNUMMER,VERS_NR_INT, DOK_ART, 丹凯尔

我希望使用CASE语句在两个字段DOK_ART和DUNKEL中使用过滤器创建此表的视图。这是我尝试做的事情

CREATE VIEW VWDRSSTA_VIEW As
SELECT SYSTEM, EREIGNIS, DATUM_ZEIT, ANTRAGSNUMMER, VORGANGSNUMMER, VERS_NR_INT,
CASE 
 WHEN EREIGNIS = 'EIN-ES' AND DOK_ART = 'EN' Then 'EN'
ELSE ''
END
CASE
 WHEN EREIGNIS = 'POL_AN' AND DUNKEL = 1 Then 1
ELSE ''
END
FROM VWDRSSTA;

出了什么问题。我怎样才能实现上述目标?

1 个答案:

答案 0 :(得分:2)

试试这个:

    CREATE OR REPLACE FROCE VIEW VWDRSSTA_VIEW As
SELECT SYSTEM, EREIGNIS, DATUM_ZEIT, ANTRAGSNUMMER, VORGANGSNUMMER, VERS_NR_INT,
      CASE
        WHEN EREIGNIS = 'EIN-ES' AND DOK_ART = 'EN'
        THEN 'EN'
        ELSE ''
      END AS DOK_ART,
      CASE
        WHEN EREIGNIS = 'POL_AN' AND DUNKEL = 1
        THEN 1
        ELSE ''
      END AS DUNKEL           
    FROM
      VWDRSSTA;