ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
574
574
EMPFEHLEN
-
Hallo, ich habe folgendes Problem:
(MySQL)
ich habe 2 tabellen:
buecher (id, nummer)
bestellungen (id, buch)
In "bestellungen.buch" steht die ID des buches, das bestellt werden soll.
In der Tabelle buecher kann es vorkommen, dass es die selbe Nummer mehrfach gibt.
Jetzt muss ich es irgendwie hinbekommen, dass die buch ID bei den bestellungen bei doppelten nummern duch eine von beiden ersetzt wird. Ist schwer zu erklären...
Ich schreib einfach mal ein Beispiel:
vorher:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13
buecher: id | nummer ----------------- 1 | 123-456 2 | 456-789 3 | 123-456 bestellungen: id | buch ------------ 1 | 1 2 | 1 3 | 3
nachher:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13
buecher: (bleibt unverändert) id | nummer ----------------- 1 | 123-456 2 | 456-789 3 | 123-456 bestellungen: id | buch ------------ 1 | 1 2 | 1 3 | 1 <= HIER hat sich etwas geändert
Ich hoffe, dass es durch das Beispiel einigermaßen verständlich wurde...
Wie kann ich das jetzt so hinbekommen?
Gruß,
Tim
-
Hallo,
wie wird denn bestimmt, durch welche id ersetzt werden soll? Soll das (wie im Beispiel) immer die niedrigste sein?
Grüße,
Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
Ja, also eigentlich ist es vollkommen egal, durch welche id es ersetzt wird.
-
Hallo,
versuch es mal hiermit:
Code :1 2 3 4 5 6 7
UPDATE `bestellungen` `outer` SET `buch` = ( SELECT MIN(`b2`.`id`) FROM `buecher` `b1` LEFT JOIN `buecher` `b2` USING (`nummer`) WHERE `b1`.`id` = `outer`.`buch` )
Grüße,
Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
Danke für die Antwort, aber was ist b1 und b2?
Weil einfach so funktioniert es nicht:
Code :1 2 3
[FONT=Courier New]#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT MIN(`b2`.`id`) FROM `test_buecher` `b1` LEFT JOIN [/FONT]
muss ich da noch irgendwas ersetzten?
-
Hallo,
b1 und b2 sind Aliase für beiden Referenzen auf die Tabelle buecher im Subquery. Anscheinend unterstützt deine MySQL-Version (< 4.1) keine Subquerys. Das macht das ganze leider etwas komplizierter… mal sehen, ob man das auch ohne hinbringt.
Grüße,
Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
Hallo,
so könnte es klappen:
Code :1 2 3 4 5 6
UPDATE `bestellungen` INNER JOIN `buecher` `b1` ON (`b1`.`id` = `bestellungen`.`buch`) INNER JOIN `buecher` `b2` ON (`b2`.`nummer` = `b1`.`nummer`) LEFT JOIN `buecher` `b3` ON (`b3`.`id` < `b2`.`id` AND `b3`.`nummer` = `b2`.`nummer`) SET `bestellungen`.`buch` = `b2`.`id` WHERE `b3`.`id` IS NULL
Grüße,
Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
Vielen vielen Dank!
Es funktioniert einwandfrei!
Danke
Ähnliche Themen
-
Mehrfache Sortierung MySQL
Von dwex im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 19.06.09, 18:30 -
[PHP&MySQL]Formular->Datenbank (Mehrfache einträge)
Von sub7even im Forum PHPAntworten: 2Letzter Beitrag: 24.02.09, 17:01 -
[MSSQL] Mehrfache einträge zusammenfassen
Von mnevis im Forum Relationale DatenbanksystemeAntworten: 6Letzter Beitrag: 17.02.08, 21:05 -
IP Adressen Datenbank: Mehrfache einträge herausfinden
Von benurb im Forum PHPAntworten: 3Letzter Beitrag: 22.12.07, 00:47 -
Mehrfache Umbrüche entfernen
Von Philipp_Frank im Forum PHPAntworten: 14Letzter Beitrag: 10.01.06, 18:18





Zitieren

Login





