首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果表B (colA1,colB2)的值与表A相匹配,如何用B2的数据更新表A(colA1,colA2)的colum colA2?

如果表B (colA1,colB2)的值与表A相匹配,如何用B2的数据更新表A(colA1,colA2)的colum colA2?
EN

Stack Overflow用户
提问于 2017-09-08 12:57:33
回答 1查看 57关注 0票数 2

我有两个表:表A(ColA1,ColA2),表B(ColB1 )。ColB2)。

代码语言:javascript
复制
ColA1    ColA2   |     ColB1     ColB2
 1               |      1         abc
 2               |      2         def
 4               |      3         ghi
 7               |      4         jkl
                 |      7         xxx

现在,我想用Col2更新ColB2,其中它具有与ColA1=ColB1匹配的值。因此,输出应该类似于:

代码语言:javascript
复制
ColA1    ColA2   |     ColB1     ColB2
 1         abc   |      1         abc
 2         def   |      2         def
 4         jkl   |      3         ghi
 7         xxx   |      4         jkl

我怎么能不按程序做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-08 19:27:06

是的,你可以加入就行了。这是我昨天做的事的一个例子..。

代码语言:javascript
复制
update compress_test c  
join information_schema.tables t      
on c.table_schema = t.table_schema and c.table_name = t.table_name    
set c.compress_mb = Round(( t.DATA_LENGTH+t.INDEX_LENGTH)/1024/1024)  

其中t.table_schema = 'test‘

代码语言:javascript
复制
 and t.row\_format='COMPRESSED';

所以你想要的是:

代码语言:javascript
复制
update a  
join b on a.cola = b.cola  
set a.colb = b.colb   
where a.colb is null

虽然我不知道你是如何得到这些值的:

代码语言:javascript
复制
ColA1    ColA2   
 4         jkl   
 7         xxx 

根据您的要求,它们仍然应该是空白/空的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46117107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档