2011-12-07 208 views
0

「列數不爲1的行匹配值數」我收到此錯誤這是什麼錯誤的原因:

Column count doesn't match value count at row 1

我有2個例statments在MySQL存儲過程,它是MySql可能認爲表中的每個case語句都需要一個列?

現在的表格有18列,我有一個查詢,這18列的帳戶。

IMAGE_URL列只有1列。

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

    , CASE WHEN IM.DIVISION = '30' THEN 
    (Select PM.imgUrl FROM stage_product_data.product_match PM 
    WHERE PM.itemno = IM.ITEMNO) END AS IMAGE_URL 
+1

當您嘗試做'INSERT INTO table'和東西我只看到這個錯誤你試着插入比'table'更多或更少的列。 'CASE'語句不能產生這個錯誤。 – Romain

+0

需要整個查詢才能提供線索 –

回答

1

你(可能)無意中在這裏創建了兩列,當基於名稱它看起來像你只想要一個。 (他們都命名爲IMAGE_URL

我懷疑你想要的是一個多案例的內容:

, CASE WHEN IM.DIVISION IN ('C4', 'J3') THEN 
    CONCAT(VAR_STORE_URL,VAR_IMAGE_URL,IM.EDPNO,'.jpg') 
    WHEN IM.DIVISION = '30' THEN 
    (Select PM.imgUrl FROM stage_product_data.product_match PM 
    WHERE PM.itemno = IM.ITEMNO) 
    ELSE "Something default" END AS IMAGE_URL 
+0

非常感謝。 – JoJo

相關問題