社区
基础和管理
帖子详情
如何批量修改一列的值?把另一张表的某个字段对应的赋到这张表的某一字段中。
hjb1029
2003-08-07 09:36:30
table1表中有一列为c1,table2表中有一列为c2,两列类型相同都为varchar2(10)。两张表都有一个相同的字段main,都为主键。
现在要把c2列赋到c1列中,批量修改c1列,按main字段查询。不知道该如何写SQL语句!!
...全文
981
8
打赏
收藏
如何批量修改一列的值?把另一张表的某个字段对应的赋到这张表的某一字段中。
table1表中有一列为c1,table2表中有一列为c2,两列类型相同都为varchar2(10)。两张表都有一个相同的字段main,都为主键。 现在要把c2列赋到c1列中,批量修改c1列,按main字段查询。不知道该如何写SQL语句!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sijian2001
2003-08-07
打赏
举报
回复
稍许麻烦一点,写了个PL/SQL过程。
稍加修改,还可以扩展到多列的赋值。
-----------------------------------------------
DECLARE
v_MAIN TABLE2.MAIN%TYPE;
v_C2 TABLE2.C2%TYPE;
CURSOR c_TABLE2 IS
SELECT MAIN, C2
FROM TABLE2;
BEGIN
OPEN c_TABLE2;
LOOP
FETCH c_TABLE2 INTO v_MAIN, v_C2;
UPDATE TABLE1
SET C1= v_C2
WHERE MAIN= v_MAIN;
EXIT WHEN c_TABLE2%NOTFOUND;
END LOOP;
CLOSE c_TABLE2;
END;
/
-----------------------------------------------
bzszp
2003-08-07
打赏
举报
回复
update table1 set tabel1.c1=(select table2.c2 from table2 where table1.main=table2.main);
qgbin
2003-08-07
打赏
举报
回复
写个PL/SQL过程吧。。。。
一条一条的修改就和了嘛。
hjb1029
2003-08-07
打赏
举报
回复
我这样写:
update table1 set tabel1.c1=table2.c2 where table1.main=table2.main;
但是总是在“table2.main”上提示“ORA-00904: 无效列名”!
table2.main这列是明明有的啊!!!
bzszp
2003-08-07
打赏
举报
回复
c1和c2之间的数据必须为1:1的关系,不然没法确定更新的值
hjb1029
2003-08-07
打赏
举报
回复
bzszp(SongZip)
你的“ where c1.main=c2.main);”写法有问题吧~
我用“update table1 set c1=(select c2 from table2,table1 where table1.main=table2.main);”这样的SQL语句,提示错误:单行子查询返回多于一个行!
bzszp
2003-08-07
打赏
举报
回复
update table1 set c1=(select c2 from table2 where c1.main=c2.main);
binbin007
2003-08-07
打赏
举报
回复
可以用sql生成sql办法,在sqlplus中
假设将table_b.col2值赋给table_a.col3
select 'update table_A set col3='||table_b.col2||'where talbe_A.col1='||table_b.col1
from table_a,table_b
where table_a.col1=table_b.col1
table_a 和table_b通过col1关联.
执行生成的肢本
零基础快速上手【软件测试常用SQL语句】实战课程
跟着课程大纲学习,了解数据库,了解软件测试过程
中
常用SQL语句,在以后的测试工作
中
,可以通过查询数据,分析数据,定位BUG。课程大纲如下:数据库的概念常用数据库软件+数据库理解数据库服务器连接工具介绍Navicat连接禅道MySQL服务器Navicat工具的筛选查询MySQL-单
表
查询语法格式MySQL-条件查询MySQL-多
表
联查语法格式MySQL-多
表
联查-设置
列
和
表
的别名MySQL-多
表
联查-2张
表
之间的关联MySQL-子查询-关键字inMySQL-子查询-关键字existsMySQL-进阶提升学习内容
mysql把一个
表
的
字段
赋
值
到另一张
表
,多
表
之间常用的操作
文章目录mysql多
表
之间的常用操作1. 根据主键,把一个
表
的
字段
赋
值
到另一张
表
2. replace into:把一张
表
的数据新增或更新到另一张
表
mysql多
表
之间的常用操作 1. 根据主键,把一个
表
的
字段
赋
值
到另一张
表
user
表
userId username password sex addr phone 1 张珊 123 男 北京市 1562356586 2 李思 456 女 北京市 1562354256 score
表
scoreId userId
mysql如何更新一个
表
中
的某个
字段
值
等于另一个
表
的某个
字段
值
updateainnerjoinbona.bid=b.idseta.x=b.x,a.y=b.y; 这里使用了case when 这个小技巧来实现
批量
更新。举个例子: 1 2 3 4 5 6 7 UPDATEcategories SETdisplay_order = CASEid ...
MySQL的update理解,
批量
更新问题: 同一张
表
中
根据某个
字段
与另一个
字段
值
,更新第三个
字段
update
表
1 a1 inner join (select
字段
1,
字段
2 from
表
1 where 条件) a2 on 条件 set a1.
字段
1 = a2.
字段
2 先造出来一个虚拟
表
,然后通过更新虚拟
表
的方式去实现具体的更新;
表
:abc update abc a inner join (select f_id, count(*) co from abc group by f_id) b on a.id = b.f_id set a.count = b.co 内连接出来
Oracle关联两张
表
批量
修改
某个
字段
有两张
表
A、B,需要关联这两张
表
,对
表
A
中
的某个
字段
,
批量
进行更新。 一、业务描述: 现有
表
A、B分别存储用户基本信息,且有主键可以关联。因为数据新旧等关系,
表
A、B
中
的数据不一致(
表
A,标红的内容),比如姓名、性别等,且
表
B
中
的信息是准确的。现有视图A,需要从
表
A
中
获取数据,因此,需要关联
表
B,对
表
A
中
的姓名、性别进行校对(更新) 二、数据
表
结构
表
A 主键:user_id,
字段
:name,age,sex user_id name age sex 001 佚名 18岁 男 002 .
基础和管理
17,377
社区成员
95,127
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章