If-else in MySQL-Join

wTech

Grünschnabel
Nabend,

ich habe ein kleines Problem mit einer MySQL-Abfrage. Es läuft zwar alles, doch ich würde diese gern performanter gestalten.
Ich stelle das erst einmal vereinfacht dar.

PHP:
<?php

$result = $db->query("SELECT type FROM user");

while($data = $db->fetcharray($result))
{
      $data2 = $db->fetcharray($db->query("SELECT * FROM user_comments_".$data['type']));

}

?>

Ich lese also in Abhängigkeit von der ersten Tabelle die zweite Tabelle aus. Wie kann ich nun die beiden Querys zusammenfassen, sodass ich in der Schleife nicht den 2. Datensatz auslesen muss?
Nachfolgend wird das mal theoretisch erläutert.

PHP:
<?php

$result = $db->query("SELECT type FROM user LEFT JOIN if(type==1) user_comments_1 elseif(type==2) user_comments_2 else user_comments_3");

while($data = $db->fetcharray($result))
{

}

?>

Ich hoffe, dass man versteht was ich meine und dass ihr mir helfen könnt;)

Mit freundlichen Grüßen
 
MySQL besitzt zwar einige Kontrollstrukturen, die sind aber nicht passend für deine Zwecke.

Grundsätzlich hört sich das eher nach einer suboptimalen Datenbankstruktur an. Wäre es nicht möglich die Tabellen zu vereinen und den Typ als Feld einzuspielen?
Dann hättest du es viel einfacher.
 
Ja, da hast du wohl recht. Ich habe das jetzt zusammengefasst, wollte das nur verhindern, da es sehr viel Arbeit war...
 
Zurück