jensgebken
Goto Top

Update Join

Hallo Gemeinschaft,

ich muss bei uns Adressen nachtragen
die Tabelle mit den nach zutragenden Adressdaten sieht aus

neueAdresse
id_RNR_Strasse_PLZ_Ort_Land_email


die Zwischentabelle sieht so aus
Bestellungen
id__RNR__Kundennr__Datum_.........

die Tabelle in der die Daten geupdated werden sollen sieht so aus

Kunden
id__Kundennr___Name__Starsse_PLZ_Ort_Land__email

verstehe hier nicht, wie ich das mit zwei join Befehlen hinbekommen soll

Content-ID: 7825685722

Url: https://administrator.de/forum/update-join-7825685722.html

Ausgedruckt am: 20.04.2025 um 16:04 Uhr

em-pie
em-pie 12.07.2023 um 12:50:15 Uhr
Goto Top
Moin,

Und da war nichts dabei?
7426148943
7426148943 12.07.2023 aktualisiert um 13:09:00 Uhr
Goto Top
erstehe hier nicht, wie ich das mit zwei join Befehlen hinbekommen soll
Schon wieder vergessen, gerade mal zwei Wochen her ??
Access - ergänzen Tabelle
Btw. Access hat einen Abfrage-Editor da kannst du ein Update auch grafisch zusammenklicken, vielleicht erst mal damit beschäftigen wenn dir SQL nicht liegt.

p.s. Tabellen sollte man hier auch richtig formatieren ... Formatierungen in den Beiträgen Wenn man schon so lange hier rum fleucht sollte man das langsam mal können!

Zeppel
jensgebken
jensgebken 12.07.2023 um 13:14:12 Uhr
Goto Top
Mit zwei tabellen kann ich es nun auch - nur eben nicht mit 3
em-pie
em-pie 12.07.2023 um 13:56:32 Uhr
Goto Top
Zitat von @jensgebken:

Mit zwei tabellen kann ich es nun auch - nur eben nicht mit 3
Dann zeig doch mal, was du bisher versucht hast. Dann können wir dir sagen, was falsch ist und dir Tipps geben. Das ist besser, als wenn du einfach was Fertiges von uns um die Ohren gehauen bekommst.
7426148943
7426148943 12.07.2023 aktualisiert um 14:34:35 Uhr
Goto Top
Zitat von @jensgebken:

Mit zwei tabellen kann ich es nun auch - nur eben nicht mit 3

Einfach nen weiteren Join einfügen, sehe da ehrlich gesagt kein Problem außer das man dir hier jeden F..z mit nem Trichter einkippen muss..
jensgebken
jensgebken 12.07.2023 aktualisiert um 15:31:03 Uhr
Goto Top
so habe ich es probiert

update Kunden.[Kunden-Nr], Reservierungen.ReservierungsnummerHP , Reservierungen.[Kunden-Nr], Kunden.Strasse
from Kunden 
inner join Reservierungen on Kunden.[Kunden-Nr] = Reservierungen.[Kunden-Nr]
inner join ED ON ED.ReservierungsnummerHP = Reservierungen.ReservierungsnummerHP
SET Kunden.Strasse =ED.Strasse ;
em-pie
em-pie 12.07.2023 um 16:13:09 Uhr
Goto Top
Dein Fehler ist Zeile 1
Du musst dort die Tabellen angeben, in denen du Felder aktualisieren willst.
Die Felder selbst werden dann, wie in Zeile 5 angegeben, aktualisiert.


Lese und verstehe, was da passiert!
jensgebken
jensgebken 12.07.2023 aktualisiert um 16:18:17 Uhr
Goto Top
update Kunden.[Kunden-Nr], Reservierungen.ReservierungsnummerHP , Reservierungen.[Kunden-Nr], Kunden.Strasse, Strasse
from Kunden 
inner join Reservierungen on Kunden.[Kunden-Nr] = Reservierungen.[Kunden-Nr]
inner join ED ON ED.ReservierungsnummerHP = Reservierungen.ReservierungsnummerHP
SET Kunden.Strasse =ED.Strasse ;

ich will ja nur erstnal die Strasse ändern - bekomme update fehler meldung

Ich möchte ja in der Tabelle Kunden das Feld Strasse ändern
em-pie
em-pie 12.07.2023 um 16:30:23 Uhr
Goto Top
Liest du auch meinen Text?
Du gibst in Zeile 1 WIEDER die Feldnamen mit an.
jensgebken
jensgebken 12.07.2023 aktualisiert um 18:39:20 Uhr
Goto Top
update Kunden
left join Reservierungen on Kunden.[Kunden-Nr] = Reservierungen.[Kunden-Nr]
left join ED ON ED.ReservierungsnummerHP = Reservierungen.ReservierungsnummerHP
SET Kunden.Strasse =ED.Strasse ;

du meinst so - syntax Fehler
em-pie
em-pie 12.07.2023 um 17:22:42 Uhr
Goto Top
Jetzt fehlt „from Kunden“…

Meine Güte…
jensgebken
jensgebken 12.07.2023 um 17:58:25 Uhr
Goto Top
wo kommt das from Kunden hin

finde ich hier nicht
em-pie
em-pie 12.07.2023 um 18:00:15 Uhr
Goto Top
Hast du dich oben schon zweimal gepostet…
jensgebken
jensgebken 12.07.2023 um 18:04:21 Uhr
Goto Top
ich kann doch nicht
update Kunden from Kunden
schreiben
em-pie
em-pie 12.07.2023 um 18:15:20 Uhr
Goto Top
Doch
jensgebken
jensgebken 12.07.2023 um 18:16:08 Uhr
Goto Top
nee - syntax fehler
jensgebken
jensgebken 12.07.2023 aktualisiert um 18:45:57 Uhr
Goto Top
ich habe mich an diesen syntax gehalten - da ist nichts mit noch einmal from

ist doch bei access genauso oder ?

UPDATE t1
LEFT JOIN
 t2
ON 
 t2.some_id = t1.some_id
LEFT JOIN
 t3 
ON
 t2.t3_id = t3.id
SET 
 t1.new_column = t3.column;
michi1983
michi1983 12.07.2023 aktualisiert um 22:33:16 Uhr
Goto Top
Zitat von @jensgebken:

update Kunden
left join Reservierungen on Kunden.[Kunden-Nr] = Reservierungen.[Kunden-Nr]
left join ED ON ED.ReservierungsnummerHP = Reservierungen.ReservierungsnummerHP
SET Kunden.Strasse =ED.Strasse ;

du meinst so - syntax Fehler

vielleicht ist es ja nur das fehlende Leerzeichen nach dem = in der letzten Zeile
jensgebken
jensgebken 13.07.2023 aktualisiert um 08:07:16 Uhr
Goto Top
habs gefunden - lag an Klammern hinter update und vor dem zweiten left join, die ich zwar nicht richtig verstehe - nun gehts aber

UPDATE (Kunden LEFT JOIN Reservierungen ON Reservierungen.[Kunden-Nr] = Kunden.[Kunden-Nr]) LEFT JOIN ED ON Reservierungen.[ReservierungsnummerHP] = ED.[ReservierungsnummerHP] SET Kunden.Strasse = ED.Strasse, Kunden.Postleitzahl = ED.Plz, Kunden.Ort = ED.Ort, Kunden.Land = ED.Land, Kunden.[Telefon 1] = ED.telephone, Kunden.Email = ED.email
WHERE Reservierungen.[ReservierungsnummerHP] = ED.[ReservierungsnummerHP];
ukulele-7
ukulele-7 13.07.2023 aktualisiert um 09:22:31 Uhr
Goto Top
Also normal ist
UPDATE tabelle
SET spalte = wert
WHERE ....

Wenn man eine andere Tabelle joinen möchte geht das auf verschiedenen Wegen, bei MSSQL kenne ich das mit einem zusätzlichen FROM
UPDATE tabelle
SET tabelle.spalte = wert
FROM tabelle
JOIN quelle ON ...
WHERE ....
Wichtig ist das man in UPDATE keinen Alias verwenden kann, daher spalte auch immer aus tabelle sein muss. Die gejointen Tabellen können Aliase nutzen.

Du hättest auch einfach nur das SET hinterm UPDATE setzen können und dann den Join.
em-pie
em-pie 13.07.2023 um 09:23:33 Uhr
Goto Top
@ukulele-7
Beim (MS) SQL ist das korrekt. MS Access Queries scheinen da aber anders zu ticken…. Leider.
ukulele-7
ukulele-7 13.07.2023 um 09:42:03 Uhr
Goto Top
Ja die verwendete DB gehört natürlich in die Fragestellung, ich hatte das mit Access überlesen.