sql 语句 中的update 怎么用 急
就是想更新zd_djdcb中的zdzmj的值让zd_zjdxx中的jzmj等于zdzmj匹配字段zd_djdcbdjh=zd_zjdxxdjh...
就是想更新 zd_djdcb 中的 zdzmj 的值 让 zd_zjdxx 中的jzmj等于 zdzmj 匹配字段 zd_djdcb djh = zd_zjdxx djh
展开
展开全部
这两个表存在主外键关联么?还是说就是通过字段djh来关联的?
试试这个吧:
--若是一对一的关系
update zd_djdcb a set a.zdzmj = (select b.jzmj from zd_zjdxx where b.djh = a.djh);
--若为一对多的关系,假设zd_djdcb对应zd_zjdxx为一对多,要求是等于,那么你就需要给zd_zjdxx表以更明确的查询条件,例如:
zd_djdcb a set a.zdzmj = (select max(b.jzmj) from zd_zjdxx where b.djh = a.djh); --取最大值
zd_djdcb a set a.zdzmj = (select min(b.jzmj) from zd_zjdxx where b.djh = a.djh); --取最小值
zd_djdcb a set a.zdzmj = (select avg(b.jzmj) from zd_zjdxx where b.djh = a.djh); --取平均值 字段限数值型
zd_djdcb a set a.zdzmj = (select sum(b.jzmj) from zd_zjdxx where b.djh = a.djh); --取求和值 字段限数值型
zd_djdcb a set a.zdzmj = (select b.jzmj from zd_zjdxx where b.djh = a.djh and ...); --and后为其他条件
--------------------------------
上方第一个等号后面的括号,对应的叫子查询。
算是一个很简单的update语句,自己多看书多练练就融会贯通了。
试试这个吧:
--若是一对一的关系
update zd_djdcb a set a.zdzmj = (select b.jzmj from zd_zjdxx where b.djh = a.djh);
--若为一对多的关系,假设zd_djdcb对应zd_zjdxx为一对多,要求是等于,那么你就需要给zd_zjdxx表以更明确的查询条件,例如:
zd_djdcb a set a.zdzmj = (select max(b.jzmj) from zd_zjdxx where b.djh = a.djh); --取最大值
zd_djdcb a set a.zdzmj = (select min(b.jzmj) from zd_zjdxx where b.djh = a.djh); --取最小值
zd_djdcb a set a.zdzmj = (select avg(b.jzmj) from zd_zjdxx where b.djh = a.djh); --取平均值 字段限数值型
zd_djdcb a set a.zdzmj = (select sum(b.jzmj) from zd_zjdxx where b.djh = a.djh); --取求和值 字段限数值型
zd_djdcb a set a.zdzmj = (select b.jzmj from zd_zjdxx where b.djh = a.djh and ...); --and后为其他条件
--------------------------------
上方第一个等号后面的括号,对应的叫子查询。
算是一个很简单的update语句,自己多看书多练练就融会贯通了。
追问
一对一的关系
b 应该是 ZD_ZJDXX 这个怎么写
提示 b.jzmj的参数值
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询