在一个查询中创建一个新表并在SQL Server 2017中添加旧表

问题描述 投票:-1回答:3

我有一张主表,其中包含瑞士的所有城市和地区。

enter image description here

我想为每个城市创建一个表,并根据其缩写将城市数据直接从主数据复制到新数据。

例如,为Zurich创建一个表,并在缩写为ZH时复制旧表中的所有数据。为Schaffhausen创建一个表,并在缩写为SH时复制旧表中的所有数据。

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

CREATE TABLE Zurich AS SELECT * FROM [dbo].[Post Code]
WHERE abbreviation = 'ZH'
sql sql-server sql-server-2017
3个回答
1
投票

正如你所说,你想创建表格及其基于abbreviation的数据,所以你应该使用缩写而不是Canton,你应该在INTO中使用SQLSERVER。您可以在CREATE TABLE <table_name> AS和其他数据库中使用MYSQL

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

0
投票

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

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 

enter image description here

Source


-1
投票

SELECT * INTO Zurich FROM [dbo]。[邮政编码] WHERE缩写='ZH'

使用Create Table和insert执行相同操作的行数较少。

© www.soinside.com 2019 - 2024. All rights reserved.