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-Key: 7825685722

Url: https://administrator.de/contentid/7825685722

Printed on: May 6, 2024 at 12:05 o'clock

Member: em-pie
em-pie Jul 12, 2023 at 10:50:15 (UTC)
Goto Top
Moin,

Und da war nichts dabei?
Mitglied: 7426148943
7426148943 Jul 12, 2023 updated at 11:09:00 (UTC)
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 ... Formatting instructions in the posts Wenn man schon so lange hier rum fleucht sollte man das langsam mal können!

Zeppel
Member: jensgebken
jensgebken Jul 12, 2023 at 11:14:12 (UTC)
Goto Top
Mit zwei tabellen kann ich es nun auch - nur eben nicht mit 3
Member: em-pie
em-pie Jul 12, 2023 at 11:56:32 (UTC)
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.
Mitglied: 7426148943
7426148943 Jul 12, 2023 updated at 12:34:35 (UTC)
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..
Member: jensgebken
jensgebken Jul 12, 2023 updated at 13:31:03 (UTC)
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 ;
Member: em-pie
em-pie Jul 12, 2023 at 14:13:09 (UTC)
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!
Member: jensgebken
jensgebken Jul 12, 2023 updated at 14:18:17 (UTC)
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
Member: em-pie
em-pie Jul 12, 2023 at 14:30:23 (UTC)
Goto Top
Liest du auch meinen Text?
Du gibst in Zeile 1 WIEDER die Feldnamen mit an.
Member: jensgebken
jensgebken Jul 12, 2023 updated at 16:39:20 (UTC)
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
Member: em-pie
em-pie Jul 12, 2023 at 15:22:42 (UTC)
Goto Top
Jetzt fehlt „from Kunden“…

Meine Güte…
Member: jensgebken
jensgebken Jul 12, 2023 at 15:58:25 (UTC)
Goto Top
wo kommt das from Kunden hin

finde ich hier nicht
Member: em-pie
em-pie Jul 12, 2023 at 16:00:15 (UTC)
Goto Top
Hast du dich oben schon zweimal gepostet…
Member: jensgebken
jensgebken Jul 12, 2023 at 16:04:21 (UTC)
Goto Top
ich kann doch nicht
update Kunden from Kunden
schreiben
Member: em-pie
em-pie Jul 12, 2023 at 16:15:20 (UTC)
Goto Top
Doch
Member: jensgebken
jensgebken Jul 12, 2023 at 16:16:08 (UTC)
Goto Top
nee - syntax fehler
Member: jensgebken
jensgebken Jul 12, 2023 updated at 16:45:57 (UTC)
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;
Member: michi1983
michi1983 Jul 12, 2023 updated at 20:33:16 (UTC)
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
Member: jensgebken
jensgebken Jul 13, 2023 updated at 06:07:16 (UTC)
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];
Member: ukulele-7
ukulele-7 Jul 13, 2023 updated at 07:22:31 (UTC)
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.
Member: em-pie
em-pie Jul 13, 2023 at 07:23:33 (UTC)
Goto Top
@ukulele-7
Beim (MS) SQL ist das korrekt. MS Access Queries scheinen da aber anders zu ticken…. Leider.
Member: ukulele-7
ukulele-7 Jul 13, 2023 at 07:42:03 (UTC)
Goto Top
Ja die verwendete DB gehört natürlich in die Fragestellung, ich hatte das mit Access überlesen.