MySQL Select mit kommagetrenntem Wert

3Dnavigator

Erfahrenes Mitglied
Hallo Zusammen!
Leider konnte ich die Lösung zu meinem Problemchen nirgends finden, also poste ich ein neues Thema:

Ich habe aus einer MySQL Datenbank-Tabelle mittels PHP verschiedene Einträge ausgelesen. In einem BLOB-Feld stehen kommagetrennt die ID's verschiedenster Einträge aus einer zweiten DB Tabelle.

Wie kann ich nun mittels diesem kommagetrennten Wert die dazugehörenden Einträge aus der zweiten Tabelle in einem zweiten SELECT auswählen?

Besten Dank & Grüsse,
3Dnavigator
 
Wozu dieses Format? Wieso speicherst du nicht gleich jeden Wert in einem eigenen Datensatz? Dann könntest du nämlich einen einfachen Join über beide Tabellen machen.
 
Aber so könntest du es auch machen:

Caste dem BLOB in String oder so (kenne mich damit nicht aus), String.split(","); gibt dir ein Array zurück, und dann brauchst du nur noch eine for-Schleife zu starten, in der du für jedes Feld die Abfrage startest.

Frag mich aber warum du es nicht als TEXT speicherst.
 
@Gumbo: Das geht nicht, weil es sich um einen Dateneintrag handelt, welcher mit verschiedensten Datensätzen in anderen Tabellen verknüpft ist. Es kann sich dabei um 1 Verknüpfung bis ca. 2'000 Verknüpfungen (pro Datensatz) handeln. Da MUSS man sowas gezwungenermassen so abspeichern...

@Kai008: Vielen Dank für den Input. Dachte aber an etwas, was man direkt im Query Select integrieren kann.

Konnte das Problem nun Zwischenzeitlich selbst lösen und zwar sieht mein SELECT nun wie folgt aus:

PHP:
SELECT * FROM `tabellenname` WHERE `id` IN ('$kommagetrenntevariable')
 
Zurück