Hallo,
ich habe eine Datenbank mit "Tabelle1" und "Tabelle2"
Aus der Tabelle 1 soll der Wert aus der Spalte #BLATT mit der Tabelle 2 in der Spalte R_H
verglichen werden.
Kommt der Wert vor, soll der Rest der Zeile in die Tabelle 1 in die nächste freie Spalte übernommen werden.
z.B. Kommt der Wert (Tabelle1) 257605602 in der Spalte R_H in der (Tabelle2) vor.
*Ja* "0257605602"
Dann übernehme mir die Daten aus der Tabelle 2, die hinter der Übereinstimmung stehen
in die entsprechende Zeile der Tabelle 1 ( hinter die Spalte Jahrgang ).
Wer kann mir bei der Lösung weiterhelfen?
mfg
mike
Vergleich und Ergänzung
Moderator: Moderatoren
Re: Vergleich und Ergänzung
Code: Alles auswählen
REPLACE INTO 'Tabelle1'
SELECT (a.?, a.?, .. , b.?, b.?, ...)
FROM Tabelle1 a LEFT JOIN Tabelle2 b ON (Tabelle1.R_H*1) = Tabelle2.BLATT
Beachte das die gesamte Datenzeile von der Select Anweisung zurückgegeben werden muss.
Re: Vergleich und Ergänzung
Hallo,
ich verstehe nur "Bahnhof".
Wie oder wo trage ich das ein?
mfg
mike
ich verstehe nur "Bahnhof".
Wie oder wo trage ich das ein?
mfg
mike
Re: Vergleich und Ergänzung
zu OOBase:
wechsel auf die 'Abfragen' -Ansicht
klicke auf 'Abfrage in SQL Ansicht erstellen...'
nun zum SQL Befehl:
evtl. mach erstmal nur die 'SELECT' Anweisung um die Daten zu prüfen bevor du deine Tabelle überschreibst.
- 'a' und 'b' sind nur kurze Bezeichner für deine Tabellen
- LEFT JOIN bedeutet das alle Daten aus der Tabelle1 und nur passende Daten aus der Tabelle 2 im Ergebnis erscheinen,
- mit "(a.R_H*1)" mache ich aus der Zeichenkette eine Zahl damit diese mit dem Wert aus "b.BLATT" verglichen werden kann (ggf. gibt es da auch eine Base Funktion dafür)
Wenn das Ergebnis deinen Vorstellungen entspricht kannst du mit deine Tabelle1 überschreiben. (oder du lässt es als Abfrage um deine Original Daten zu erhalten )
wechsel auf die 'Abfragen' -Ansicht
klicke auf 'Abfrage in SQL Ansicht erstellen...'
nun zum SQL Befehl:
evtl. mach erstmal nur die 'SELECT' Anweisung um die Daten zu prüfen bevor du deine Tabelle überschreibst.
Code: Alles auswählen
SELECT
a.*,
b.*
FROM
Tabelle1 a LEFT JOIN Tabelle2 b ON (a.R_H*1) = b.BLATT
- LEFT JOIN bedeutet das alle Daten aus der Tabelle1 und nur passende Daten aus der Tabelle 2 im Ergebnis erscheinen,
- mit "(a.R_H*1)" mache ich aus der Zeichenkette eine Zahl damit diese mit dem Wert aus "b.BLATT" verglichen werden kann (ggf. gibt es da auch eine Base Funktion dafür)
Wenn das Ergebnis deinen Vorstellungen entspricht kannst du mit
Code: Alles auswählen
REPLACE INTO Tabelle1
Rechtschreibfehler sind beabsichtigt und unterliegen dem Copyright !
Re: Vergleich und Ergänzung
Hallo,
danke. Jetzt hab ich`s kapiert.
mfg
mike
danke. Jetzt hab ich`s kapiert.
mfg
mike