![]() |
MySQL-Sub-Select
Hallo ihr!
Ich seit meine letze Hoffnung, habe ich doch schon den ganzen Tag probiert aber es nicht geschafft. folgende Ausgangssituation Tabelle "mitarbeiter" enthält in einer Spalte den Namen und außerdem noch weitere Spalten. Tabelle "user" enthält eine UserID, Name und ebenfalls weiter Daten. Ich möchte nun in der Tabelle "mitarbeiter" die Spalte "name" durch die dazugehörige User-ID aus der Tabelle "user" ersetzen - wobei die Spalten "name" in beiden tabellen ident sind. Das würde natürlich über den Umweg PHP einfach lösbar sein, allerdings handelt es sich um knapp 60.000 Einträge und da wird das mit PHP alleine etwas langsam, fürchte ich. Habt ihr eine Idee? #Hannes# |
http://www.bitmechanic.com/mail-arch...1998/0424.html
wenn das noch aktuell ist, dann wird das von mysql nicht unterstützt ... oracle versteht das: Code:
update tabelle1 t1 |
Stimmt, funktioniert mit MySQL nicht. Andere Lösungfvorschläge?
#Hannes# |
Du könntest die verknüpften Daten in eine 3. Tabelle schreiben und die dann unbenennen. Die 2 alten tabellen joinst du über das Name Attribut.
insert into tab3 select a.atr1,b.atr2 from table1 as a inner join table2 as b on b.name=a.name |
Danke! Ich hab grad das Netz und das MySQL -Handbuch durchstöbert aber keine wirklich gute Erkärung zu JOIN gefunden. Was tut dieser Befehl genau?
Ich weiß gerne über verwendete Befehle bescheid, bevor ich sie verwende ;-) #Hannes# |
|
bei solchen abfragen mit LEFT JOIN arbeiten, das bringt mehr power. ich kenn deine spaltennamen nicht daher spalte1,spalte2....
select mitarbeiter.spalte1, mitarbeiter.spalte2, name.name as username from mitarbeiter LEFT JOIN name ON mitarbeiter.UserID=name.UserID where mitarbeiter.spalte1='irgendwas' doch achtung, die feldnamen müssen mit der jeweiligen tabelle angesprochen werden (mitarbeiter.spalte1 nicht blos spalte1)! --weev |
Alle Zeitangaben in WEZ +2. Es ist jetzt 21:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag