[MySQL] Spalteninhalt mit einer anderen Tabelle übersetzen

Steve1405

Grünschnabel
Hallo zusammen,

ich habe eine Tabelle, welche wie folgt aufgebaut ist:
Code:
+------------------+---------------------+
| Country          | Sonstiges           |
+------------------+---------------------+
| Germany          | blabla              |
| Italy            | blabla              |
| Spain            | blabla              |
| Russia           | blabla              |
+------------------+---------------------+

Da das Country in Englisch ist, möchte ich dieses gerne übersetzen. Dafür habe ich eine zweite Tabelle, welche wie folgt aussieht:
Code:
+------------------+---------------------+
| Country_EN       | Country_DE          |
+------------------+---------------------+
| Germany          | Deutschland         |
| Italy            | Italien             |
| Spain            | Spanien             |
| Russia           | Russland            |
+------------------+---------------------+

Nun möchte ich die englischen Länder in der ersten Tabelle mithilfe der zweiten Tabelle übersetzen.

Wie mache ich das am besten? Habe dazu leider nichts bei google bzw. mithilfe der SuFu gefunden.

gruß
 
Code:
SELECT Country_DE from Tabelle2, Tabelle1 where Tabelle2.Country_EN  = Tabelle1.Country
 
So war es schonmal gemeint, aber irgendwie will der Update Befehl damit nicht funktionieren, da die Länder in der Tabelle 1 für immer geändert werden sollen. Ich habe dann noch in der Tabelle 1 eine Spalte, in der ich speichere, ob ein Land schon übersetzt wurde oder nicht, aber das bekomme ich selbst hin.

Wäre nice, wenn mir das jemand mit dem Updatebefehl zeigen könnte, also dass die englischen Länder in Tabelle 1 durch die deutschen (ausgelesen aus Tabelle 2) ersetzen werden ;)

gruß
 
So ungefähr
PHP:
$query = '  SELECT
                Country, Country_DE, Country_EN
            FROM
                Tabelle2, Tabelle1
            WHERE
                Tabelle2.Country_EN = Tabelle1.Country';

// $row mit fetch_assoc füllen usw...

$sql = '    UPDATE
                Tabelle1
            SET
                Country = "' .$row['Country_DE']. '"
            WHERE
                Country_EN = "' .$row['Country_EN']. '"';

// edit: Ok, steht nirgends ob du das direkt in der Datenbank machen willst...
 
Zuletzt bearbeitet:
Hey, vielen Dank.

Da habe ich noch gar nicht dran gedacht, dass ich das ja auch auf PHP auslagern könnte, obwohl das ja eigentlich die einfachste Möglichkeit wäre :D

Habe mal wieder viel zu kompliziert gedacht. Danke, passt so.

gruß

PS: Falls jemand Lust hat, würde es mich für Informationszwecke interessieren, ob das auch direkt in der DB möglich wäre...
 

Neue Beiträge

Zurück