我是相当新的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