MySQL4.0.13-nt>update x.....where x.id=y.id(Syntaxfrage)

xrax

Erfahrenes Mitglied
Hallo zusammen,

ich habe folgendes Frage:

In Tabelle A und in Tabelle B sind zum Teil unterschiedliche Artikelsätze.
Es gibt Sätze in A, die nicht in B vorkommen.
Es gibt Sätze in B, die nicht in A vorkommen.
Und es gibt welche die in A und B vorkommen.
Gleiche Sätze habe in A und B die gleiche ID.

Ich möchte nun die Sätze in Tabelle B, in einer Spalte "kenz" mittels update mit einer 1 kennzeichnen die nur in A vorkommen.
Und ich möchte die Sätze in B in der Spalte "kenz" mittels update mit einer 2 kennzeichnen die in A und B vorkommen.

Wie soll ich das machen?

UPDATE B set kenz='2' WHERE a.ID=b.ID (klappt nicht)

UPDATE B set kenz='1' WHERE

Kann mir hier jemand helfen?

Gruß
xrax
 
Versuche mal UPDATE B set kenz='2' WHERE ID NOT IN (Select ID from a) <- setzt bei allen datensätzen kenz = 2 wo die ID nicht in A ist

und umgekehrt... sollte eigentlich klappen
 
dnake für die Antwort.

Sieht gut aus , aber klappt nett. :-(
Es kommt ein Syntaxfehler. near 'select id from a'

Ich denke es muss was mit nem JOIN geben. Blick aber nicht durch wie das bei einem UPDATE geht..

Noch zur Info. Die eine Tabelle hat so 90.000 Einträge die andere ca. 40.000.

update b,a set b.id='2' where b.id=a.id scheidet schon wegen der laufzeit aus.

Gruß
xrax
 
heisst natürlich:
update b,a set b.kenz='2' where b.id=a.id scheidet schon wegen der laufzeit aus.
 
Zurück