2014-09-01 24 views
0

我上運行的Aqua Data Studio的6.5.12一個Postgres數據庫(是的,這是一個非常老的系統,但我非常喜歡它:))。的Aqua Data工作室將無法讓我創建這個觀點

我得在Query Analyzer正常運行查詢,但是當我嘗試將其保存爲一個觀點,我收到「錯誤:語法錯誤SELECT近」。

難道有人知道可能是錯的呢?

SELECT test_configs.sgsn, test_configs.imsi, 
    CASE test_configs.mncl 
     WHEN '' THEN '-' 
     ELSE COALESCE(test_configs.mncl, '-') 
     END AS mncl 

FROM config_imsis_sgsn AS default_configs 
    LEFT JOIN config_imsis_sgsn AS test_configs 
    ON default_configs.sgsn = f_sgsn_correto() 
    AND default_configs.imsi = test_configs.imsi 
    AND test_configs.sgsn <> default_configs.sgsn 

WHERE COALESCE(default_configs.mncl, 'null') <> COALESCE(test_configs.mncl, 'null') AND test_configs.sgsn <> '' 

謝謝!

回答

0

CASE聲明的格式不正確。

嘗試修改SELECT是這樣的:

SELECT test_configs.sgsn, test_configs.imsi, 
    CASE 
     WHEN test_configs.mncl = '' THEN '-' 
     ELSE COALESCE(test_configs.mncl, '-') 
    END AS mncl 

請注意,我立足這種行爲關閉的Postgres的 9.3,但我不認爲這種特殊的行爲在相當一段時間已經改變了千萬。我假設你的的Postgres版本該工作室6使用的Aqua Data是很老,因爲,雖然我不熟悉的產品,它會出現在最新的版本是14,這表明它很可能多年舊。

+0

錯誤依然存在......令我感到害怕的是:在查詢分析器中,我可以正常運行。我需要的無用行被返回。但是,保存時,它會失敗! – ZeldaElf 2014-09-02 16:42:14

+0

嗯......聽起來它可能是一個Aqua Data Studio的bug,那麼,或許就像從* Postgres *角度改變了'CASE'語句一樣,我希望它能夠工作。 – khampson 2014-09-02 17:10:54