dedlfix: Komplizierte SQL-Abfrage mit JOIN und IN

Beitrag lesen

echo $begrüßung;

Ich hoffe, dass die Erklärung einigermaßen verständlich war und freue mich auf Antworten.

Es fehlt die Angabe des DBMS und dessen Version. Ich gehe im Folgenden von MySQL mit einer Version größer oder gleich 4.1 aus.

Die Abfrage soll folgendes machen: keyword1 und keyword2 (in der IN-Anweisung) werden gegeben und es sollen alle Informationen abgefragt werden, die mit beiden Tags verbunden sind.

Die Funktion GROUP_CONCAT() macht aus vielen Zeilen abhängig vom Gruppierungsparameter einen einzelnen Wert. Du könntest damit nach der information.id gruppiert alle Tags aneinanderhängen. Das muss so erfolgen, dass die Werte einen Set-ähnlichen String ergeben, also kommagetrennt aneinanderhängen. Dieses "Set" kannst du dann mit FIND_IN_SET() durchsuchen: WHERE FIND_IN_SET(tag1, set) AND FIND_IN_SET(tag2, set)

Allerdings ist das sicher nicht sehr effektiv, weil hier Stringoperationen stattfinden, die man nicht mit Index oder ähnlichen Maßnahmen unterstützen kann. Der Vorschlag ist also nur für überschaubare Datenmengen geeignet.

echo "$verabschiedung $name";