Kosinator Geschrieben 17. Dezember 2008 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...
Kosinator Geschrieben 17. Dezember 2008 Autor 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
Kosinator Geschrieben 17. Dezember 2008 Autor 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...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden