Ich habe versucht, eine Tabelle aus ausgewählten Abfrageergebnissen in SQL Server zu erstellen
create table temp AS select.....
aber ich habe einen Fehler bekommen
Falsche Syntax neben dem Schlüsselwort 'AS'
Verwenden Sie die folgende Syntax, um eine neue Tabelle aus einer alten Tabelle in SQL Server 2008 zu erstellen
Select * into new_table from old_table
benutze SELECT...INTO
Die SELECT INTO-Anweisung erstellt eine neue Tabelle und füllt sie mit der Ergebnismenge der SELECT-Anweisung. SELECT INTO kann zum Kombinieren von Daten aus mehreren Tabellen oder verwendet werden Ansichten in eine Tabelle. Sie können damit auch eine neue Tabelle erstellen, die Daten enthält, die von einem Verbindungsserver ausgewählt wurden.
Beispiel,
SELECT col1, col2 INTO #a -- <<== creates temporary table
FROM tablename
Standardsyntax,
SELECT col1, ....., [email protected] -- <<== select as many columns as you want
INTO [New tableName]
FROM [Source Table Name]
Bitte seien Sie vorsichtig, MSSQL: "SELECT * INTO NewTable FROM OldTable"
ist nicht immer dasselbe wie MYSQL: "create table temp AS select.."
Ich denke, dass es Fälle gibt, in denen dies (in MSSQL) nicht garantiert, dass alle Felder in der neuen Tabelle vom selben Typ sind wie die alten.
Beispielsweise :
create table oldTable (field1 varchar(10), field2 integer, field3 float)
insert into oldTable (field1,field2,field3) values ('1', 1, 1)
select top 1 * into newTable from oldTable
ergibt nicht immer:
create table newTable (field1 varchar(10), field2 integer, field3 float)
aber vielleicht:
create table newTable (field1 varchar(10), field2 integer, field3 integer)
Versuchen Sie es mit SELECT INTO ....
SELECT ....
INTO TABLE_NAME(table you want to create)
FROM source_table
Bitte versuche:
SELECT * INTO NewTable FROM OldTable
Wählen Sie [Feldnamen] in [Neue Tabelle] aus [Quelltabelle]