2017-04-04 9 views
0

VWDRSSTAという名前のテーブルがあり、次のフィールドがあります。 SYSTEM、 EREIGNIS; DATUM_ZEIT、 ANTRAGSNUMMER、VORGANGSNUMMER、VERS_NR_INT、 DOK_ART、 ドゥンケルケースでSQLビューを作成

私はCASE文を使用して二つのフィールドDOK_ARTとドゥンケルにフィルタと、このテーブルのビューを作成するために探しています。ここに私がやったことがあります

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; 

これは間違っています。上記をどのように達成できますか?

+0

は私たちにあなたが取得している正確なエラーコードを表示します。しかし、あなたは 'caseカラム'の名前を忘れるようですが、ビューを作成するときには、すべてのカラムに一意の名前(ほとんどのdbms)が必要です。 EREIGNIS = 'EIN-ES'とDOK_ART = 'EN'の場合は、 ' 'に変更する必要があります。その後、 'EREIGNIS =' EIN-ES 'とDOK_ART =' EN ' 'EN' ELSE ' End AS MyCaseColumn1、 '最後のカンマの通知も受け取ります – Rumpelstinsk

+0

どのDBMSを使用していますか? Postgres?オラクル? –

+0

これらのCASE式の間にコンマもありません。 –

答えて

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; 
関連する問題