Verknüpfen von Daten aus mehreren Tabellen mithilfe begrenzter Werte in MySQL
Frage:
Wie kann Ich rufe effizient Daten aus mehreren Tabellen ab, die in einer der Spalten durch Semikolons getrennte Werte haben, ohne externe Sprachen zu verwenden oder eine Verknüpfungstabelle einzuführen?
Antwort:
An Um dieses Problem zu lösen, können wir eine Technik verwenden, die die durch Semikolons getrennten Werte in einzelne Zeilen umwandelt. Dadurch können wir die Tabellen verknüpfen und das gewünschte Ergebnis erzielen.
Lösung:
Die bereitgestellte Lösung verwendet zwei benutzerdefinierte MySQL-Funktionen:
Diese Funktionen werden mit einem Join zwischen den Benutzer- und Ressourcentabellen kombiniert, wobei die Integerseries-Tabelle zum Durchlaufen des Semikolons verwendet wird. getrennte Werte:
<code class="sql">SELECT user_resource.user, resource.data FROM user_resource JOIN integerseries AS isequence ON isequence.id <= COUNT_IN_SET(user_resource.resources, ';') /* normalize */ JOIN resource ON resource.id = VALUE_IN_SET(user_resource.resources, ';', isequence.id) ORDER BY user_resource.user, resource.data</code>
Diese Abfrage führt zu einer Tabelle, in der die Ressourcen jedes Benutzers als einzelne Zeilen dargestellt werden, sodass wir problemlos mit der Ressourcentabelle verknüpfen können, um die entsprechenden Daten zu erhalten.
Zusätzliche Informationen:
Das obige ist der detaillierte Inhalt vonWie verbinde ich Daten aus mehreren Tabellen mit getrennten Werten in MySQL, ohne Tabellen zu verknüpfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!