sql-server - 如何使用查询结果填充表?
问题描述
我有三个表表 A 表 B 和表 C。我需要用 A 和 B 的组合填充 C。
如何用下面的查询结果填充表 C?
UPDATE dbo.C
SELECT TOP (200000) dbo.A.Id, dbo.B.Id
FROM [testDB].[dbo].A
CROSS JOIN [testDB].[dbo].B
解决方案
INSERT INTO . .SELECT
如果表已经存在,您可以使用:
INSERT INTO dbo.c(aID, bID) -- Qualify correct column names
SELECT TOP (200000) dbo.A.Id, dbo.B.Id
FROM [testDB].[dbo].A CROSS JOIN
[testDB].[dbo].B
ORDER BY ???; -- Use ordering column to specify the sequence
如果table C
不存在,则使用INTO
:
SELECT TOP (200000) dbo.A.Id, dbo.B.Id INTO [testDB].[dbo].C
FROM [testDB].[dbo].A CROSS JOIN
[testDB].[dbo].B
ORDER BY ???; -- Use ordering column to specify the sequence
推荐阅读
- java - 如何使用设置上次修改日期和时间触摸具有当前时间的文件夹?
- kubernetes - 为 kubernetes Horizontal Pod Auto-scaling 设置 Prometheus 指标时出错
- svg - 在 powerpoint 中制作高 svg 动画
- php - Foreach 只返回一行
- api - Symfony 4 API 平台和 JWT:如何使用 Symfony 客户端项目登录 API?
- python - 从多个进程记录到单个文件:为什么有效?
- graphics - 如何在 PIXI.Graphics 中强制执行基元(圆、矩形、...)的顺序
- android - Android JetPack 导航:如何从与其不关联的活动中打开片段?
- logstash - Logstash 从 grok 过滤器添加字段
- postgresql - 如何找到具有间隔的相同值的端点?