sql问题 A表 B表 查出两表都有的记录 并把B的某个字段记录赋值给A

 我来答
百度网友3ef46bc
推荐于2016-03-01 · TA获得超过214个赞
知道小有建树答主
回答量:343
采纳率:100%
帮助的人:204万
展开全部
假设A表ID与B表ID相同即认为A,B都存在
将b表NAME赋予A表NAME中

查询A表 B表 查出两表都有的记录
select * from A
where exists
(select 1 from B where A.ID= B.ID)

修改赋值
update A
set A.name= (select b.name from B where A.ID= B.ID)
where exists
(select 1 from B where A.ID= B.ID)
追问
select * from yp_zb 
where exists
(select * from yp_by_re where yp_zb.yp_num = yp_by_re.yp_num)
update yp_zb
set yp_zb.re_date= (select * from yp_by_re where yp_zb.re_date= yp_by_re.d_date)
where exists
(select * from yp_by_re where yp_zb.yp_num= yp_by_re.yp_num)

当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。
追答
update yp_zb
set yp_zb.re_date= (select * from yp_by_re where yp_zb.yp_num= yp_by_re.yp_num)
where exists
(select * from yp_by_re where yp_zb.yp_num= yp_by_re.yp_num)
不能yp_zb.re_date= yp_by_re.d_date
yp_zb.yp_num= yp_by_re.yp_num才是关键
百度网友bfb9204
2012-05-09 · TA获得超过718个赞
知道小有建树答主
回答量:1008
采纳率:66%
帮助的人:426万
展开全部
update t1
set A表字段=B表的某个字段
from A T1,
B t2.
where
t1.字段=t2.字段
追问
update yp_zb
set re_date=d_date
from yp_zb,yp_by_re
where
yp_zb.yp_num=yp_by_re.yp_num

还是出错~有哪里不对吗?
追答
update yp_zb
set re_date=yp_by_re.d_date--这里要加上第二个表的名字
from yp_zb,yp_by_re
where
yp_zb.yp_num=yp_by_re.yp_num
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式