我有一张主表,其中包含瑞士的所有城市和地区。
我想为每个城市创建一个表,并根据其缩写将城市数据直接从主数据复制到新数据。
例如,为Zurich创建一个表,并在缩写为ZH时复制旧表中的所有数据。为Schaffhausen创建一个表,并在缩写为SH时复制旧表中的所有数据。
我使用了以下查询,但没有用:
CREATE TABLE Zurich AS SELECT * FROM [dbo].[Post Code]
WHERE abbreviation = 'ZH'
正如你所说,你想创建表格及其基于abbreviation
的数据,所以你应该使用缩写而不是Canton
,你应该在INTO
中使用SQLSERVER
。您可以在CREATE TABLE <table_name> AS
和其他数据库中使用MYSQL
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
SELECT * INTO Zurich FROM [dbo]。[邮政编码] WHERE缩写='ZH'
使用Create Table和insert执行相同操作的行数较少。