在一个查询中创建一个新的 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
并且您应该使用 INTO
在 SQLSERVER
。您可以在 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
我有一个包含瑞士所有城市和地区的主要 table。
我想为每个城市创建一个table,将主城市的数据直接按照缩写复制到新的
例如,为苏黎世创建一个table,并在缩写为ZH 时从旧的table 复制所有数据。 为沙夫豪森创建一个 table 并在缩写为 SH 时从旧的 table 复制所有数据。
我使用了以下查询,但没有成功:
CREATE TABLE Zurich AS SELECT * FROM [dbo].[Post Code]
WHERE abbreviation = 'ZH'
正如您所说,您想要创建 table 并且它是基于 abbreviation
的数据,因此您应该使用缩写而不是 Canton
并且您应该使用 INTO
在 SQLSERVER
。您可以在 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