sql - SQL:将包含数据的列添加到现有 SQL 表
问题描述
我有一张桌子(tableA):
Col1 | Col2 |
---|---|
美国广播公司 | 123 |
定义 | 456 |
吉 | 789 |
我想添加Col3
条目S
, M
,L
这样 (tableB)
Col1 | Col2 | Col3 |
---|---|---|
美国广播公司 | 123 | 小号 |
美国广播公司 | 123 | 米 |
美国广播公司 | 123 | 大号 |
定义 | 456 | 小号 |
定义 | 456 | 米 |
定义 | 456 | 大号 |
吉 | 789 | 小号 |
吉 | 789 | 米 |
吉 | 789 | 大号 |
我只知道一种添加具有单个值的列的方法(即通过使用ALTER
带有 的命令default
)而不是具有多个数据点的列。
解决方案
添加列
ALTER TABLE tablea
ADD COLUMN col3 varchar(1);
并将现有行的值设置为'S'
。
UPDATE tablea
SET col3 = 'S';
然后使用表中的 anINSERT ... SELECT ...
与'M'
s 和'L'
s 交叉连接到表中以插入缺失的行。
INSERT INTO table3
(col1,
col2,
col3)
SELECT t.col1,
t.col2,
v.col3
FROM tablea t
CROSS JOIN (VALUES ('M'),
('L')) v
(col3);
推荐阅读
- flutter - Flutter 如何调整 UI 元素(小部件)的大小和位置?
- powershell - Powershell 在导入的 csv 中搜索缓慢
- swift - 快速按下时潜在的 SwiftUI ZStack 转换错误
- java - spring-boot、tomcat 和 java 模块
- discord.js - 命令处理程序中的前缀
- python - 字典中的 Pandas 数据帧
- python - 如何为遗传算法编写交叉函数
- php - 仅当角色/用户存在时如何计算“帐户”
- reactjs - 如何使用反应在材料ui分页中循环列表项
- javascript - 如何将 Express.js 变量传递给 MongoDB 函数?