sql - 插入包含基于同一行的计算列的行
问题描述
我想知道是否可以在单个SQL 语句中执行以下操作:
假设我们有一个包含 3 个简单字符串 (varchar) 列的表;col1、col2 和 col3。
INSERT INTO mytable ([col1], [col2], [col3]) VALUES ('super', 'cool', [col1] + [col2])
这失败了 2 条错误消息,第一个是:Invalid column name 'col1'.
我想知道这是否可行,而不必重复 col1 和 col2 的值,即:
INSERT INTO mytable ([col1], [col2], [col3]) VALUES ('super', 'cool', 'super' + 'cool')
我在搞乱 SQL Server 2016。谢谢
解决方案
从VALUES
表构造函数中选择
INSERT INTO mytable ([col1], [col2], [col3])
SELECT t.a, t.b, t.a + t.b
FROM (VALUES ('super', 'cool')) t(a, b)
推荐阅读
- c# - ASP.Net/C# 如何存储方法字符串返回以供以后在另一个方法中使用?
- javascript - TypeError:当结果为空时,this.state.candidate.map 不是函数
- typescript - Extract / Guard promise, pull Promise
来自混合工会 - javascript - 如何为 amcharts 地图添加标题?
- python-3.x - 使用`ray.put`创建对象后如何显式释放对象?
- r - 在 R 中将时间范围转换为可读格式
- python - 在 Selenium 中设置用户数据/配置文件不起作用。硒蟒
- python - 递归协同树生成算法
- python - Python/PyTables:数组的不同列是否可以有不同的数据类型?
- google-sheets - 连接 ArrayFormula 内的列,不包括某些值