SQL - IF statement

In meinem Projekt gibt es 3 SQL Tabellen.

Von einer Tabelle sollen alle Daten ausgelesen werden, welche eine z.B. “1” in Spalte “rowname1” haben und jenach dem was in Spalte “rowname3” darinnen steht, eine andere Tabelle ansprechen.

Hier meine “bildliche” Idee:

SELECT `rowname1`,`rowname2` FROM `table1`,`table2`,`table3`
WHERE `table1`.rowname1='1' AND
 (
  IF `table1`.rowname3='inhaltTEXT 1' THEN
    `table2`.ID=`table1`.rowname2 AND `table2`.status='1'
  ELSE
    `table3`.ID=`table1`.rowname2 AND `table3`.status='1'
 )
ORDER BY `table1`.rowname2 ASC

Die Tabellen Spalten und Namen habe ich extra alle so geschrieben (formatiert), damit dies (hoffentlich) einfach verständlich ist, “bildlich” geschrieben.

Hat jemand eine Idee ob dies so möglich ist, oder in irgend einer anderen Form?

Die Abfrage will ich mit einer Abfrage machen, ohne einer zweiten SQL Abfrage zu simulieren mit PHP wie z.B. hier

PHP:
SELECT * FROM `table1` ...
if ( output='inhaltTEXT 1') SQL2
else SQL3

PS: Mit INNER JOIN, JOIN LEFT, UNION, COUNT, … habe ich nicht das Resultat erhalten.
Und gefunden habe ich auch nichts.
Wenn ich noch eine Tabellenstrucktur nachliefern soll, bitte schreiben. Ich hoffe meine Frage ist auch ohne verständlich.

table1, table2, table3, rowname1, rowname2, rowname3 … für die Zukunft: solche “bildlichen” Beispiel sind nicht besonders bildlich. Es ist einfacher relatitätsnahe Beispiele zu nutzen oder bessor noch: Dein tatsächlich eingesetzter Code (dann könnte man evt. sogar evaluieren, ob das, was du versuchst, eventuell auch anders (besser) lösbar ist).

Nun zum Problem:

Wenn die Lösung mit PHP tatsächlich nur zwei Queries brauchen würde: Geh den Umweg über PHP. Dein aktuelles Besipiel “FROM table1,table2,table3” liest aus allen drei Tabellen, und der Umweg über PHP würde das vermutlich vermeiden.

Nun denn, was du suchst ist wahrscheinlich die IF-Funktion.

Schau dir mal an was ich nach 2 Sekunden Googlen gefunden habe, ob du damit zurecht kommst: stackoverflow.com/questions/1516 … ere-clause