首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >另一个表中缺少字段的sql查询更新表

另一个表中缺少字段的sql查询更新表
EN

Stack Overflow用户
提问于 2014-10-31 09:38:38
回答 3查看 793关注 0票数 0

我在SQL查询/SP中遇到了一个问题,我试图更新一个表,该表在另一个表中的特定字段中缺少数据,而另一个表中的相同字段中的数据存在并且有效。这里的诀窍是我想要锚定在第一个表中的值。我可以让它在INSERT INTO / SELECT FROM组合中工作,但它会创建一个重复的记录。

我使用的是mysql 5.x。以下是详细信息。缺少数据的表是thisweek,包含有效数据的表是lastweek。字段1是MACAddress (它存在并且是锚点),并且存在于两个表中(例如BE:EF:BA:BE:CA:FE),thisweek中的字段2-10为空(''),但表lastweek中的这些字段(字段2-10)中有数据。

代码语言:javascript
复制
UPDATE thisweek
SET thisweek.field2 = lastweek.field2
where thisweek.MACAddress = lastweek.MACAddress and thisweek.filed2 = ''; 

我知道这个查询离得很远,所以请寻求帮助。同样,两个表中存在相同的MACAddress,表之间唯一的区别是thisweek中的field2是空的(不应该是空的),并且需要等于该MACAddresslastweek.field2

谢谢大家。

EN

回答 3

Stack Overflow用户

发布于 2014-10-31 09:48:37

你需要加入这周和上周的表格。

代码语言:javascript
复制
UPDATE thisweek
JOIN lastweek
ON thisweek.MACAddress = lastweek.MACAddress
AND thisweek.field2 =''
SET thisweek.field2 = lastweek.field2
票数 0
EN

Stack Overflow用户

发布于 2014-10-31 09:49:45

我认为你需要以下几点:

代码语言:javascript
复制
UPDATE tw 
  SET tw.Field2 = lw.Field2
FROM
  ThisWeek tw 
  JOIN LastWeek lw ON tw.MACAddress = lw.MACAddress
WHERE
  tw.Field2 = ''
票数 0
EN

Stack Overflow用户

发布于 2017-07-06 13:13:33

代码语言:javascript
复制
update table1 
inner join table2 on table1.id = table2.id and (table1.name = '' or table1.name is null) 
set table1.name = table2.name;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26666268

复制
相关文章

相似问题

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