2011-12-06 89 views
2

還有更多的代碼,但我試圖保持在我的工作規則的指導範圍內。我可以用這種方式使用MySql CASE嗎?

我試圖用一個CASE語句是這樣的:

INSERT INTO PRODUCTS 
    SELECT DISTINCT IM.EDPNO 
    , IM.ITEMNO 
    , IM.DESCRIPTION 
    , SUBSTRING(EX.REFITEMNO,6,20) AS UPC_CODE 
    , IM.VENDORNO 
    , CONCAT(VAR_STORE_URL,VAR_DETAIL_URL,RTRIM(IM.ITEMNO)) AS URL 

    SELECT CASE DIVISION WHEN 'C4' OR 'J3' THEN 
    ,CONCAT(VAR_STORE_URL,VAR_IMAGE_URL,IM.EDPNO,'.jpg') 
    End AS IMAGE_URL; 

然後我想我會跟進,與其他選擇的情況下我會從查找表中,而不是在concating獲得圖像。

+0

當您運行查詢它產生你所期望的結果? –

回答

1
, CONCAT(VAR_STORE_URL,VAR_DETAIL_URL,RTRIM(IM.ITEMNO)) AS URL 
SELECT CASE DIVISION WHEN 'C4' OR 'J3' THEN 
    ,CONCAT(VAR_STORE_URL,VAR_IMAGE_URL,IM.EDPNO,'.jpg') 
    End AS IMAGE_URL 

需求是

, CONCAT(VAR_STORE_URL,VAR_DETAIL_URL,RTRIM(IM.ITEMNO)) AS URL 
, CASE WHEN DIVISION IN ('C4', 'J3') THEN 
CONCAT(VAR_STORE_URL,VAR_IMAGE_URL,IM.EDPNO,'.jpg') END AS IMAGE_URL 

你缺少URL後一個逗號,不應該有領先SELECT,因爲它已經處於SELECT聲明和使用CASE表達的簡單形式,當你不能有OR

0

我想這樣的作品:

 
SELECT CASE DIVISION WHEN 'C4' OR 'J3' THEN 
    CONCAT(VAR_STORE_URL,VAR_IMAGE_URL,IM.EDPNO,'.jpg') 
    End AS IMAGE_URL 
相關問題