首页 > 解决方案 > 如何使用查询结果填充表?

问题描述

我有三个表表 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

标签: sql-server

解决方案


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

推荐阅读