Tach,
Mir ist klar, dass zwei Datensätze gefunden werden, ich lese aber nur den ersten. Der hat eben zufällig die Eigenschaft "en". Ich hätte aber gerne den "zh" zuerst. Kann ich das im JOIN klären?
die übliche Lösung wäre sich nur den sprachpassenden Datensatz zurückgeben zu lassen, dein SQL-Statement muß also im Sprachstring variabel sein. In Pseudocode mit $sprache als vom User übergebene Sprache:
if ($sprache != "zh"){
$sprache="en";
}
$sql = "LEFT JOIN uebersetzungen ueb1 ON (ueb1.tabelle = 'artikel' AND ueb1.tabelle_id = artikel.id
AND ueb1.sprache = '" + $sprache + "'";
Statt des if am Anfang kannst du auch direkt den Userstring nutzen, sofern du ihn vorher passend zum Kontext behandelst, um dir keine SQL-Injection-Lücke einzuhandeln.
mfg
Woodfighter