ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3567|回复: 8

怎么用SQL句子按条件填充空值

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-8-3 17:23 | 显示全部楼层 |阅读模式
我有2个表,表A(3万条数据,其中有2个字段:地区,产品编码(主键)),表B(15万条数据,也有2个字段:地区,产品编码(主键)),都在access里面放着。

表A 的地区字段中有一些空值(约有几百个),表B的地区字段中没有空值。我想按照条件 表A.产品编码=表B.产品编码,用表B地区字段中的值 填充 表A地区字段中的空值,不知道怎么实现??

请高手出招帮忙。先谢谢了

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-8-3 17:25 | 显示全部楼层
想直接用 update更新,可惜水平有限,搞不出来

TA的精华主题

TA的得分主题

发表于 2010-8-3 17:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
按照楼主描述,[产品编码]是主键(唯一标识),但表B存在15万笔记录、也即是说产品的品项有15万,从一般企业来说,销售品项如此之多好像是不可能,除非是个性化销售;所以推测表B应该是标明各产品在不同地区的资料,即是说[产品编码]+[地区]才是唯一标识,如果是这样的话,就出现逻辑混乱。
因此,如有可能,请上传附件,才是解决之道。

TA的精华主题

TA的得分主题

发表于 2010-8-3 17:43 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
update 表A set 地区=(select  地区 from 表B where 表A.产品编码=表B.产品编码)

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-8-3 19:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
回复3楼:表B是汇总表,因为是通信行业,很多种产品,产品编码超多,产品编码确实是唯一标识。
回复4楼:我只是想把表A 地区字段中的空值   用表B地区相应字段来填充。并不是全部要SET
请再考虑一下

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-8-3 20:05 | 显示全部楼层
呜呜呜,急着解决,自己顶下,
有好几个表都需要弄,请大家帮忙看看

TA的精华主题

TA的得分主题

发表于 2010-8-4 12:00 | 显示全部楼层
[quote]原帖由 ysdms 于 2010-8-3 19:35 发表
回复3楼:表B是汇总表,因为是通信行业,很多种产品,产品编码超多,产品编码确实是唯一标识。

如此就简单了
---------- Access环境 ----------
UPDATE 表A INNER JOIN 表B ON 表A.产品编码 = 表B.产品编码
SET 表A.地区 = 表B.地区
WHERE 表A.地区 Is Null
---------- MSSQL环境 ----------
UPDATE 表A SET 地区 = B.地区
FROM 表A A JOIN 表B B ON A.产品编码 = B.产品编码
WHERE A.地区 Is Null

TA的精华主题

TA的得分主题

发表于 2010-8-4 12:32 | 显示全部楼层
update 表A set 地区=(select  地区 from 表B where 表A.产品编码=表B.产品编码) where 地区 is null

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-8-6 17:01 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢楼主2位的热心帮助,问题已解决
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-12 09:38 , Processed in 0.029583 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表