sql - SQL 使每一列成为一个新表
问题描述
我有一个表,其中包含 [ID] 列、[t] 列指示期间以及 22 个其他会计分类帐相关列:
ID | 吨 | 收入 | 费用 | ...20 其他列 ... |
---|---|---|---|---|
1 | 1 | 23,040 | 21,204 | 某某,某某 |
1 | 2 | 21,302 | 19,302 | 某某,某某 |
1 | 3 | 51,302 | 29,302 | 某某,某某 |
1 | 4 | 61,302 | 49,302 | 某某,某某 |
2 | 1 | 23,040 | 21,204 | 某某,某某 |
2 | 2 | 21,302 | 19,302 | 某某,某某 |
2 | 3 | 51,302 | 29,302 | 某某,某某 |
2 | 4 | 61,302 | 49,302 | 某某,某某 |
我想根据此处的列创建新表,例如收入表和费用表,并将枢轴 [t] 作为新表中的列。
现在我正在编写 22 个重复代码的查询,SELECT 每一列,pivot,并创建我的新表。而且我必须手动并单独运行它们。我想知道是否有更聪明的方法来编写一个查询并创建 22 个表,每个表都从原始表中各自的列中获取值。
谢谢
解决方案
根据您的数据库,您可以在系统表上搜索表的定义(例如:您可以使用 Oracle )并基于此SYS.DBA_TABLES
生成语句。CREATE TABLE
然后您可以查询您的表并将值插入新表中。
推荐阅读
- powershell - 下载 powershell 脚本存储库以供离线使用
- windows - 即使 SSH-Add 可以添加新密钥,OpenSSH 也无法提供密钥
- hbase - Apache Sqoop 从 Oracle 导入到 hbase 错误
- python - 空闲时python urwid超时
- flutter - Flutter:如何显示包含毫秒的时钟?
- html - Vue 2.x 过渡不适用于 Html 标签 ID CSS
- ansible - Ansible 加载 epel 和 yum 更新
- firebase - 使用全局 var/singleton 存储客户端发送的身份验证令牌?
- node.js - 通过 nodemailer 发送时未显示确认电子邮件的内容?
- ios - Flutter 找不到方法的原生 iOS 实现