MYSQL语法求助:从一个表中提取多个数据,再以这个结果修改另外一个表?

目前表A名字班级AB一年级CD二年级DS二年级SD一年级表B项目数据ASDF未判断DSFDS未判断DSAFD合格BRFDSD未判断SDWECD未判断已知第一步:SELEC... 目前 表A
名字 班级
AB 一年级
CD 二年级
DS 二年级
SD 一年级

表B
项目 数据
ASDF 未判断
DSFDS 未判断
DSAFD 合格
BRFDSD 未判断
SDWECD 未判断

已知
第一步:
SELECT * FROM 表A WHERE 名字 = '二年级'
可得出 CD 和 DS
然后分别修改 表B 内 包含 CD 和 DS 的项目 为 '不合格'
第二步:
正常的修改语句是
UPDATE 表B SET 数据 ='不合格' WHERE 数据='未判断' and 项目 like '%CD%'
UPDATE 表B SET 数据 ='不合格' WHERE 数据='未判断' and 项目 like '%DS%'

现在问题是:
当第一步结果很多,这样第二步就很多条语句了。
我想把 第一步 和 第二步 合并 ,语法应该怎么写?
展开
 我来答
fuyh16
2019-11-15 · TA获得超过222个赞
知道小有建树答主
回答量:462
采纳率:82%
帮助的人:115万
展开全部
把表a和表b关联起来就可以了啊。这里用到了mysql拼接字符串的函数concat
update a,b set b.数据='不合格' where b.项目 like concat('%',concat(a.名字,'%')) and b.数据='未判断' and a.名字='二年级'
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式