Updatebefehl erstellen
Thomas
- datenbank
Hi Leutz
Folgendes ich möchte aus folgendem Befehl
SELECT a.Interpret, a.Titel, a.Platz
FROM top1002 AS a
LEFT JOIN top1002 AS b ON a.KW = b.KW -1 AND a.Titel = b.Titel
WHERE a.KW =10 AND a.Jahr =2004 AND b.Interpret IS NULL
das Resultat wie folgt updaten
die Interpreten die ausgeworfen werden sollen in der a.KW = 10 in die Spalte aussteiger ein 'raus' gesetzt bekommen.
Hat jemand eine Idee ????
hi,
Hat jemand eine Idee ????
datenbanksystem ...?
gruss,
wahsaga
Yo Hey...
ja klar ist Mysql oder was meinst du ???
Hallo
Yo Hey...
ja klar ist Mysql oder was meinst du ???
MS Access, MS FoxPro, FileMaker Pro, Paradox, Microsoft SQL Server, Oracle, Informix, DB2, ...
Freundliche Grüsse,
Vinzenz
MySQL 4.0 irgentwas auf einer Linuxkiste
Hallo Thomas,
MySQL 4.0 irgentwas auf einer Linuxkiste
Schon besser ;-)
Auf das "irgendwas" kommt es in Deinem Fall an. Ab Version 4.0.4 unterstützt MySQL Update-Operationen auf mehrere Tabellen, siehe http://www.mysql.com/doc/en/UPDATE.html, auch für LEFT JOINs. Damit ist es leicht, die SELECT-Anweisung in eine UPDATE-Anweisung umzuwandeln.
Die verschiedenen Datenbankmanagementsysteme implementieren SQL in unterschiedlichen Umfang. So unterstützt MySQL Subselects erst ab Version 4.1 http://www.mysql.com/doc/en/Subqueries.html, Views gar erst ab 5.0 oder 5.1 http://www.mysql.com/doc/en/ANSI_diff_Views.html
Freundliche Grüsse,
Vinzenz
PS: Wenn Du in den Threads der letzten Tage blätterst, so gab es einen Poster, der von Access auf MS SQL Server umsteigen sollte, einen, der sich mit Oracle auskannte, ...
Ist die letzte aktuelle stable Version 4.0.18
Hallo Thomas [<- so was nennt man Anrede :-) und das sehen hier viele gerne. Ich auch]
Ist die letzte aktuelle stable Version 4.0.18
Hast Du mal die Beispiele im MySQL Manual durchgelesen? Ist es wirklich so schwer?
UPDATE table1
LEFT JOIN table2 on table1.feld1 = table2.feld1
SET table1.feldx = 'raus'
WHERE ...
Freundliche Grüsse,
Vinzenz [auch so was wird gerne gesehen]
PS
Deine Logik habe ich übrigens nicht so ganz verstanden :-) Du vergleichst Kalenderwochen und Titel. Was ist, wenn der gleiche Titel mal mehrfach in den Charts ist?
Sorry Vinzenz das ich dich nicht begruesst habe ist nicht meine Art -))))
Ich hab den Select Befehl schon erweitert weil ich gesehen habe das zum Beispiel It's my Life von mehren Interpreten schon gesungen wurden.
Du ich bin mit Mysql nicht so bewandert mach das Hobby mässig, ich habe für den LEFT JOIN Befehl schon zwei Tage gebastelt, wenn du mir den Update Befehl zusammen stellen könntest wäre ich dir sehr
D A N K B A R
Hallo Thomas,
Sorry Vinzenz das ich dich nicht begruesst habe ist nicht meine Art -))))
Benimm' Dich dann doch so wie es Deine Art ist ;-)
Ich hab den Select Befehl schon erweitert weil ich gesehen habe das zum Beispiel It's my Life von mehren Interpreten schon gesungen wurden.
Genau das meinte ich :-)
Die Erweiterung Deiner SELECT-Anweisung zeigt allerdings eher, dass Du an Deinem Datenbankdesign arbeiten solltest, schau dazu bitte in folgenden Thread [pref:t=74913&m=431389] (zwei oberhalb :))
So könntest Du z.B. eine Tabelle "Song" o.ä. erstellen, mit den Spalten
ID, Titel, Interpret, Plattenlabel, Jahr ...
In der Tabelle "top1002" verwendest Du statt Titel und Interpret die ID (so was nennt man Fremdschlüssel), somit musst Du nicht soviele Spalten vergleichen.
Du ich bin mit Mysql nicht so bewandert mach das Hobby mässig, ich habe für den LEFT JOIN Befehl schon zwei Tage gebastelt, wenn du mir den Update Befehl zusammen stellen könntest wäre ich dir sehr
Du musst nur einsetzen in das, was ich Dir schon vorgesetzt hatte:
table1 = top1002 as a
table2 = top1002 as b
=>
update top1002 as a
left join top1002 as b
on <genau wie in Deiner SELECT-Anweisung>
set a.aussteiger = 'raus'
where <genau wie in Deiner SELECT-Anweisung>
Den Rest kriegst Du schon selber hin.
D A N K B A R
Schrei nicht so *SCNR*,
mir fliegen ja die Ohren weg :), wenn ich das lese.
Schau bitte einmal in </faq/>, lies Die diese durch, handele danach und es macht allen viel mehr Spass.
Freundliche Grüsse,
Vinzenz
Danke Vinzenz es hat geklappt.