sql update 问题
写了这样一句查询语句
UPDATE A set [content] = REPLACE([content],(select * from A Where [content] in (Select A.[content] From A, B Where A.[content] Like '% ' + B.compareletter + '% ')), '* ')
目的是如果A表中的[content]字段中包含B表中compareletter字段的内容就用*号替代A表中[content]字段中的内容。
运行时查询分析器报错:
消息 116,级别 16,状态 1,第 31 行
当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。
怎么改 谢谢
------解决方案--------------------select * from
这个*指定成字段名成看看。
------解决方案-------------------- update a
set content = '* '
where exists (
select 1
from b
where b.compareletter like '% ' + a.content + "% ')
希望你以后发贴的时候注意格式,要不,看上去真的很晕的
------解决方案-------------------- UPDATE A SET [content] = REPLACE([content], '* ') FROM A,B WHERE A.[content] LIKE '% ' + B.compareletter + '% '
------解决方案--------------------update a
set content = '* '
where content in(
select a.content
from a,b
where b.compareletter like '% ' + a.content + "% ')
------解决方案--------------------update a
set content = '* '
where content in(
select a.content
from a,b
where a.content like '% ' + b.compareletter + "% ')