Zum Inhalt springen

MS SQL Tabellen zusammenführen


FreakinJoe

Empfohlene Beiträge

Hallo zusammen,

ich sitze gerade vor folgendem Problem.

Ich habe zwei Tabellen.

Tabelle 1 hat 5 Spalten

Tabelle 2 hat 2 Spalten

Die Spaltennamen von Tabelle 2 sind identisch mit den ersten beiden Spalten von Tabelle 1.

Die Form sieht dabei in etwa folgendermaßen aus:

Tabelle 1:Spalte 1

eintrag 1

eintrag 2

eintrag 3

eintrag 4

eintrag 5

Tabelle 2:Spalte 1

eintrag 1

eintrag 15

eintrag 2

eintrag 3

eintrag 5

d.h. also es können in der zweiten Tabelle Einträge hinzukommen oder verschwinden. Jetzt möchte ich beide Tabellen zusammenführen und dabei die Beziehungen übernehmen. Sprich die 3 letzten Spalten von Tabelle 1 an Tabelle 2 anfügen, ohne, dass die Zeilen verrutschen.

Sorry, wenn ich da noch Probleme habe beim Beschreiben, bin absoluter SQL-Frischling und dankbar für jeden Ratschlag :)

Gruß, FreakinJoe

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich glaube, du musst erstmal noch am Ausdruck feilen :D

Zusammenfuehren soll das heissen, dass du am Ende nur noch eine Tabelle hast, oder willst du die Daten nur zusammen irgendwo ausgeben?

Verrutschen koennen die Zeilen uebrigens nicht, da eine Tabelle per Definition unsortiert ist. Eine Sortierung bekommst du dann hoechstens bei der Ausgabe hin. Dafuer brauchst du aber eine Spalte mit entsprechendem Sortierkriterium. Nach 1, 15 , 2, 3, 5 zu sortieren ist naemlich mathematisch gesehen eher anspruchsvoll.

Goos

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich muss dazu sagen, dass ich ein VB 6.0-Frontend benutze.

Ursprünglich ist eine Tabelle vorhanden, die folgende Spalten hat:

Ort PLZ Strasse Hausnr

Dann bekomme ich eine Textdatei, die dann nur die Spalten "Ort" und "PLZ" enthält:

01001;Dresden

01002;Dresden

01003;Dresden

01004;Dresden

Danach werden die Zeilen in eine eigene Tabelle eingefügt

While Not EOF(dateinummer)

    Line Input #dateinummer, zeiLen

    Schneiden = Split(zeiLen, ";")      

    PLZ = Schneiden(1)                  

    Ort = Schneiden(2)


    cnSQL.CommandText = "INSERT INTO TempTabelle (Plz,Ort) VALUES ('" & PLZ & "','" & Ort & "');"

    cnSQL.Execute

Wend
Letztenendes sollen die beiden Spalten aus der temporären Tabelle, dann die ersten beiden Spalten aus der bereits vorhandenen Tabelle 1 ersetzen. Es soll also eine Tabelle übrig bleiben. Bis jetzt hab ich das so versucht, bin mir aber nicht sicher, ob das so genügt:
cnSQL.CommandText = "Update TempTabelle Set TempTabelle.sg = Tabelle.sg " & _

                    "FROM TempTabelle LEFT OUTER JOIN " & _

                    "Tabelle ON Tabelle.plz = TempTabelle.plz AND Tabelle.ort = TempTabelle.ort"

ps: das mit dem Ausdruck hapert noch, aber learning by doing :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...