sql - 用其他表中的数据覆盖表中的所有值
问题描述
我正在尝试用表 B 中的数据覆盖表 A 中的数据。
主要目标是保留 A 列中每列的格式并使用 B 列中的数据来完成。
Insert Into work.table_A
Select work.table_B
From work.table_B
提前致谢。
解决方案
为什么不直接改造桌子?请注意,SAS 数据集不会重用通过删除观察创建的空间,因此如果您删除然后插入多次,您的数据集将占用更多磁盘空间。
data a;
set a(obs=0) b;
run;
您可以使用带有 MODIFY 语句的数据步骤来删除记录并插入新记录。
data A;
do until (eof1);
modify A end=eof1;
remove;
end;
do until(eof2);
set B end=eof2;
output;
end;
run;
或者,如果您愿意,也可以使用 SQL,只需确保 A 和 B 具有相同的变量,或者您知道如何从 B 中的变量创建 A 所需的变量。
proc sql;
delete * from A;
insert into A select * from B;
quit;
推荐阅读
- java - Android - 将日期格式更改为 dd/mm/yy
- javascript - 延迟加载外部javascript
- python - Python BeautifulSoup汽车排名抓取
- xml - 使用 XSLT 根据条件文本之间的位置添加逗号(,)或“或”
- css - 更新我的 Django 项目中使用的 css 文件时出现问题
- javascript - 为什么当数字有效时它显示为未定义?
- react-native - 作为道具传递的图像反应原生未显示
- grpc - grpc 客户端完成队列未关闭
- reactjs - 在连接到 Redux 的 React 组件中推断 TypeScript Props?
- android - Android 10 openFileDescriptor 卡住了