Legen Sie verschiedene Werte aus einer Tabelle in eine andere Tabelle
Also für jeden eindeutigen Wert in einer Spalte einer Tabelle die ich einfügen möchte, die eindeutigen Wert in einer Zeile der anderen Tabelle.
list = select distinct(id) from table0
for distinct_id in list
insert into table1 (id) values (distinct_id)
end
Irgendwelche Ideen, wie man das angehen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Immer wenn du denkst, etwas zu tun in einer Schleife, Schritt zurück und denken Sie wieder. SQL ist optimiert, um die Arbeit mit Gruppen. Sie können dies tun, indem Sie eine set-basierte Abfragen, ohne die Notwendigkeit der Schleife:
Gibt es einige Grenzfälle, wo die Schleife kann mehr Sinn machen, aber als SQL-Server reift und mehr Funktionalität Hinzugefügt wird, werden diese Sonderfälle Holen Sie sich enger und enger...
CREATE VIEW dbo.vname WITH SCHEMABINDING AS SELECT d = CONVERT(date, col), c = COUNT_BIG(*) FROM dbo.tname GROUP BY CONVERT(date, col);
dannCREATE UNIQUE CLUSTERED INDEX cix_vname ON dbo.vname(d);
Folgende Anweisung funktioniert bei mir.
Der folgenden Abfrage wird auch prüfen, die vorhandenen Daten in die Tabelle2.
Andere Einfache Möglichkeit zum kopieren unterschiedliche Daten mit mehreren Spalten von einer Tabelle in eine andere