Das Geheimnis ist/war, den INNER JOIN schon an RELEASE_COMMONS an zu setzen, nicht erst an COMMONS:
INNER JOIN RELEASE_COMMONS RCT ON (R1.ID = RCT.ReleaseID AND RCT.TagID = {$_GET['tag']})
Denn was ich wirklich wollte, war nicht zwei COMMONS von unterschiedlichem Typ zu finden (owohl das dann implizit auch so ist), sondern per ihrer ID. Also ein Eintrag in RELEASES sollt einmal COMMONS ID = 4 (zB) haben und auch das COMMONS mit ID = 8.
Jetzt hab ich aber noch ein weiteres Problem endeckt, das so zwar nichts mit dem neuen Einbau zu tun hat (hab ich aus probiert), aber ähnlich wirkt. Sobald ich an gebe, dass ein COMMONS mit zB ID = 4 vorhanden sein soll, wird ein weiteres COMMONS, das dem RELEASES Eintrag auch zugeordnet ist, nimmer über den Bestandteil seines Namens auffindbar (LIKE '%$word%'). Es soll aber, auch bei Einschränkung des Suchradius auf COMMONS ID = 4, dieses weiter Eingschränkt werden, durch den Namen der COMMONS, die ebenfalls zugeordnet sind.... ich hoffe ich konnte das darstellen.
$where_array = array();
foreach ($words_array as $word) {
$where_array[] = "(NAMES.Name LIKE '%$word%' OR FILES.FileLink LIKE '%$word%' OR CX.Name LIKE '%$word%' OR R1.Title LIKE '%$word%' OR R1.SubTitle LIKE '%$word%' OR DATE_FORMAT(R1.Date, '%Y') LIKE '%$word' OR R2.Title LIKE '%$word%' OR C2.Name LIKE '%$word%')";
}
if ($_GET['cat']) $where_array[] = "C1.ID = ".$_GET['cat'];
if ($_GET['tag']) $tag_inner = "INNER JOIN RELEASE_COMMONS RCT ON (R1.ID = RCT.ReleaseID AND RCT.TagID = {$_GET['tag']})";
$where_string = implode(" AND ",$where_array);
// C1 is for the class for sorting and CX is for the tag, effect and family for finding
if (!$result = $mysqli->query("SELECT SQL_CALC_FOUND_ROWS R1.ID FROM RELEASES R1
LEFT JOIN RELEASE_COMMONS RC ON R1.ID = RC.ReleaseID
LEFT JOIN COMMONS C1 ON (RC.TagID = C1.ID AND C1.Typ = ".CMN_CLASS.")
LEFT JOIN COMMONS CX ON RC.TagID = CX.ID
$tag_inner
LEFT JOIN FILES ON FILES.ReleaseID = R1.ID
LEFT JOIN CREDITS ON CREDITS.ReleaseID = R1.ID LEFT JOIN AUTHORS ON AUTHORS.ID = CREDITS.AuthorID
LEFT JOIN NAMES ON NAMES.AuthorID = AUTHORS.ID
LEFT JOIN RELEASES R2 ON R1.SoundFormatID = R2.ID
LEFT JOIN COMMONS C2 ON R1.series_id = C2.ID
WHERE $where_string GROUP BY R1.ID $sort_string LIMIT $start,$show")) goto fail;
@interpreter