在一个查询中创建一个新的 table 并在 SQL Server 2017 中添加旧数据

Create a new table and adding a data from old one in SQL Server 2017 in one query

我有一个包含瑞士所有城市和地区的主要 table。

我想为每个城市创建一个table,将主城市的数据直接按照缩写复制到新的

例如,为苏黎世创建一个table,并在缩写为ZH 时从旧的table 复制所有数据。 为沙夫豪森创建一个 table 并在缩写为 SH 时从旧的 table 复制所有数据。

我使用了以下查询,但没有成功:

CREATE TABLE Zurich AS SELECT * FROM [dbo].[Post Code]
WHERE abbreviation = 'ZH'

正如您所说,您想要创建 table 并且它是基于 abbreviation 的数据,因此您应该使用缩写而不是 Canton 并且您应该使用 INTOSQLSERVER。您可以在 MYSQL 和其他数据库中使用 CREATE TABLE <table_name> AS

SELECT * INTO Zurich FROM [dbo].[Post Code]
WHERE Abbreviation = 'ZH'

谢谢大家,我找到了解决方案。

USE [Post Code];  
GO  
CREATE TABLE dbo.Zurich  
( PostCode   int,  
  Place nvarchar(25),
  Canton nvarchar(50)  ,
  Abbreviation nvarchar(2),
  Country nvarchar(11)
);  
GO  
INSERT INTO dbo.Zurich  
    SELECT *   
    FROM [dbo].[Post Code] WHERE Abbreviation = 'ZH';  
GO 

Source