63783
Goto Top

Query und Update in MySQL

Hallo zusammen!

Ich habe eine Frage bezüglich eines Queries und eines darauf aufbauenden Update Befehls.

Folgender Query wird ausgeführt:
SELECT adressen.MatchCode,
       adressen.FB1,
       adressen.FB2,
       adressen.FB3,
       adressen.Strasse,
       adressen.PLZ,
       adressen.Ort,
       adressen.Land,
       ansprechpartner.Anrede,
       ansprechpartner.AnsprechpartnerVorname,
       ansprechpartner.AnsprechpartnerNachname,
       ansprechpartner.`E-Mail`,
       ansprechpartner.webkundejn,
       ansprechpartner.webshoppwd,
       aspgruppenzuordnung.Gruppe
  FROM    (   emis.adressen adressen
           INNER JOIN
              emis.ansprechpartner ansprechpartner
           ON (adressen.EMISNummer = ansprechpartner.EMISNummer))
       INNER JOIN
          emis.aspgruppenzuordnung aspgruppenzuordnung
       ON (aspgruppenzuordnung.ASPNummer = ansprechpartner.Zähler)
 WHERE (aspgruppenzuordnung.Gruppe = 'emis.shop')  

Dieser Query produziert 5 Treffer und das stimmt auch soweit.
Hier noch ein Screenshot der Verknüpfung der Tabellen:
76e8456a7db8b75d39a65b6eece5d5c9-asp

Jetzt möchte ich basierend auf dieser Seletion ein Update auf ein Feld in der Tabelle ansprechpartner machen:

update (   emis.adressen adressen
           INNER JOIN
              emis.ansprechpartner ansprechpartner
           ON (adressen.EMISNummer = ansprechpartner.EMISNummer))
       INNER JOIN
          emis.aspgruppenzuordnung aspgruppenzuordnung
       ON (aspgruppenzuordnung.ASPNummer = ansprechpartner.Zähler) set ansprechpartner.webkundejn = 0 WHERE (aspgruppenzuordnung.Gruppe = 'emis.shop')  

Meiner Meinung nach müsste dieser Update-Befehl genau in den 5 Treffern von oben das Feld ansprechpartner.webkundejn auf 0 setzen. Tut er aber nicht face-smile
Da ich mich jetzt noch nicht solange mit MySQL beschäftige, wäre ich über ein paar Tips wie der Update-Befehl richtig heissen muss sehr freuen.

Danke schon mal im Voraus face-smile

Content-Key: 95273

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

Printed on: April 26, 2024 at 00:04 o'clock

Member: Biber
Biber Aug 29, 2008 at 07:35:16 (UTC)
Goto Top
Moin Thorgan,

wenn Du die Tabelle "ansprechpartner" aktualisieren willst, dann sollte diese auch in dieser verzwirbelten JOIN-Konstruktion die führende Tabelle sein.
 Update emis.ansprechpartner ansprechpartner 
 inner join emis.adressen adressen
            ON (adressen.EMISNummer = ansprechpartner.EMISNummer)
         INNER JOIN
            emis.aspgruppenzuordnung aspgruppenzuordnung
        ON (aspgruppenzuordnung.ASPNummer = ansprechpartner.Zähler) 
 Set ansprechpartner.webkundejn = 0 
 WHERE (aspgruppenzuordnung.Gruppe = 'emis.shop')  
[ungetestet]

Grüße
Biber
Member: Caarcrinolas
Caarcrinolas Aug 31, 2008 at 19:18:26 (UTC)
Goto Top
Soweit ich weiss sind Datenbankrelationen in Verbindung mit Datenmodifikation nicht möglich....

So war es zumindest früher und das wird sich vermutlich nicht geändert haben....

Ein Blick in die MySQL Doku schadet aber bekanntlich nicht