Kosinator Geschrieben 17. Dezember 2008 Teilen Geschrieben 17. Dezember 2008 Hallo, ich habe zwie Tabellen in einer DatenBank, eine davon ist leer und soll mit werten der anderen gefüllt werden, doch nicht alle Spalten sollen übernommen werden. Desweiteren sollte die id (ist eine int, kleine Tabelle) für referierungszwecke gleich bleiben. nennen wir die tabellen tbErste und tbZweite, die leben beide in "dbo", Spalten sind: "Bereich" (int, schlüssel) "Kurz" (string(30)) in der tbErste und "idNum" (int, schlüssel) "Bezeichnung" (string(30)) in der tbZweite Sollte mein sql-Statement etwa so aussehen? (Korekkturlauf) string[] sSQLArr = new string[] { "INSERT INTO [dbo].[tbZweite]([idNum],[bezeichnung])" + "VALUES ([dbo].[tbErste].[bereich],[dbo].[tbErste].[Kurz])", }; return KonvertSQLArray(connection, sSQLArr, 3); Das Problem ist, dass ich mir nicht sicher sein kann, dass tbErste.Kurz immer existiert und ich nicht weiß ob mir das nicht die Reihenfolge zerstört, Plus, meine SQL-Kenntnisse sind, sagen wir, nicht gut und daher bin ich mir nicht mal sicher, ob ich nicht erst über ALTER TABLE [dbo].[tbZweite] die Tabelle "Aufmachen" muss, und ich bin nicht syntaxsicher. Bitte wirklich um konstruktive Hilfe und nicht soetwas wie "google doch" oder "schau mal beim MSDN", versuche ich zeitgleich türlich auch. Aber Hier sind ja die wirklichen Profis Danke für die mühen, Kosi p.s.: Habe die Forensuche angestrengt, leider nicht das gefunden war mir explizit weiterhilft... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Kosinator Geschrieben 17. Dezember 2008 Autor Teilen Geschrieben 17. Dezember 2008 string[] sSQLArr = new string[] { "INSERT INTO [dbo].[tbZweite]([idNum],[bezeichnung])" + "SELECT [idNum]" + "FROM [dbo].[tbErste].[bereich]" + "SELECT [bezeichnung]" + "FROM [dbo].[tbErste].[Kurz]", }; Oder bekomme ich dann Probleme, da erstens SELECT und FROM zwimal auftauchen, zweitens ich gar keine VALUE angaben gemacht habe... ?? oder ist ein WHERE [tbErste].[bereich] == [tbZweite].[idNum] wobei == nicht klappen dürfte, und idNum in tbZweite noch gar nicht existiert... Oder besser über anderen weg wie etwa Merge (wenns das gibt), danke nochmak, Kosi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Kosinator Geschrieben 17. Dezember 2008 Autor Teilen Geschrieben 17. Dezember 2008 laut Insert (SQL - Wikipedia, the free encyclopedia) könnte das klappen string[] sSQLArr = new string[] { "INSERT INTO [dbo].[tbZweite]([idNum],[bezeichnung])" + "SELECT [bereich],[Kurz]" + "FROM [dbo].[tbErste]", }; Klappt das auch mit Nullwerten (habe gehört diese seinen besonders böse), und fliegt mir da nicht etwas um die Ohren, falls in der tbZweite bereits Daten sind? Kann das leider nicht ausprobieren, da ich damit nicht (nur) meine Daten verändere, sondern auch woanders... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.