你好,
我來自MS SQL和剛剛開始學習更多關於火花SQL
這是一部分,我試圖執行。在MS SQL,它可以很容易地完成,但這似乎並不在火花
所以,我想要一個簡單的記錄更新,如果之前的顏色名稱可以在任何地方發現“(”語法
的主人。產品表包含產品名稱的名稱如“藍色蜘蛛俠(深藍色)”
LooUp。Lookup_Table_Colors表包含列表的列表的顏色像“紅”、“藍”、“綠色”、等
下麵的聲明基本上會發現藍色蜘蛛俠(深藍色)和填充(Product_Color)作為“藍”
這句話在MS SQL工作,但它在火花SQL錯誤
更新P
設置Product_Color = C.Color_Name
從主人。產品頁
內連接LooUp。Lookup_Table_Colors C
在P.Name像‘%’+ C。Color_Name +“% (%”;
錯誤信息:錯誤的SQL語句:拋出ParseException:
不匹配的輸入“從”期待{< EOF >、‘;’}(第3行,pos 1)
所以我走不同的路線,使用合並……它沒有錯誤,但它沒有更新記錄
合並成大師。產品頁
使用LooUp。Lookup_Table_Colors CP.Name像‘%’+ C。Color_Name + ' % (% '
當匹配更新組P。Product_Color = C.Color_Name;
有火花的SQL的方法嗎?如果這些火花SQL語法不存在,然後有不同的語法,我可以使用嗎?
提前謝謝你!
我認為在合並可以取代source_table_reference視圖
@Hubert杜德克你好,我是在引發同樣的問題使用更新sql和遇到你的答案。當你說“source_table_reference換成視圖”合並,你的意思是用“視圖”來取代“P”看起來如下:
% sql合並成大師。產品VIEW using LooUp.Lookup_Table_Colors C ON VIEW.Name LIKE '% ' + C.Color_Name + '% (%' WHEN MATCHED THEN UPDATE set VIEW.Product_Color =C.Color_Name;
提前感謝你的幫助!