2011-12-06 13 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にルックアップテーブルから画像を得るでしょう、別のSelect Caseでそれをフォローアップ想像します。

+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式の単純な形式を使用する場合は、

0

私はこれがうまくいくと思う:それはAに既にあるよう

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