我是相當新的SQL,我嘗試做以下操作:更新部分
我有一列數據,我們將其稱之爲CATEGORY,該列中的數據如下:
插孔,鰓,撬,吉爾,傑克,保羅,約翰尼,是良好的,平紋呢,塞米, 約翰
在第二表我有一個映射的條目
列1 Johnny, be, good
- 列2 johnny be good
我需要能夠爲Johnny, be, good
該類別中的值更新爲johnny be good
,但列的只是一部分。我已經試了好東西,下面是我的嘗試之一:
這裏只是想選擇,出現這種情況
SELECT * FROM [dbo].[TD_DTV_BV_CATALOGITEMS] a
INNER JOIN
[dbo].[TD_CATEGORYMAP] b ON
a.[COURSE_CATEGORY] LIKE b.[GROUPCATEGORY]
這裏是行,我試圖更新列,當然這是無效。
UPDATE [dbo].[TD_DTV_BV_CATALOGITEMS] a
SET a.COURSE_CATEGORY = REPLACE(a.COURSE_CATEGORY, b.MAPCATEGORY)
INNER JOIN
[dbo].[TD_CATEGORYMAP] b ON
a.[COURSE_CATEGORY] LIKE b.[GROUPCATEGORY]
在此先感謝您的幫助。
'替換()'需要3個參數。 '替換(source_text,text_to_find,replacement_text)'。除非你正在嘗試進行部分字符串替換,爲什麼不只是'SET a.COURSE_CATEGORY = b.MAPCATEGORY'呢? – 2013-04-26 20:38:46
@Marc,OP明確表示他想做部分替換。 – 2013-04-26 20:39:46
對不起,你會在一個**單**列中出現'jack,gill,tommy,jill,jacky,paul,johnny,be,good,tammy,sammy,john'如果是的話,停止你在做什麼,並閱讀關於數據庫規範化。 – Kermit 2013-04-26 20:41:06