Rolf: Werte in einem SET-Feld auswerten

Beitrag lesen

Hallo,

in einer MySQL-Tabelle stehen Objekte, die Kategorien zugeordnet werden.
Da ein Objekt in mehreren Kategorien vertreten sein darf, wurde als Feldtyp "SET" gewählt.
In einer weiteren Tabelle sind die zulässigen Kategorien enthalten, derzeit 6, also weit unter der Grenze von 64.

Leider habe ich Probleme bei der Formulierung folgender Abfrage:
"Zeige für jede Kategorie die Anzahl der vorhandenen Objekte.
 Objekte in mehreren Kategorien sollen mehrfach gezählt werden!"
Dabei sollte sowas hier herauskommen:
oID - Objekt-ID
cID - Kategorie-ID
+-----+-----+
| oID | cID |
+-----+-----+
|  1  | 1,3 |
|  2  | 3,5 |
|  3  | 3   |
|  4  | 1   |
|  5  | 5   |
|  6  | 1,3 |
|  7  | 1,5 |
|  8  | 1   |
|  9  | 3   |
+-----+-----+
geforderter Result:
+-----+---------+
| cID | count() |
+-----+---------+
|  1  |     5   |
|  3  |     5   |
|  5  |     3   |
+-----+---------+
Obwohl also nur 9 Objekte vorhanden sind, werden 13 gezählt,
weil 4 Objekte in zwei Kategorien vorkommen - verständlich?

Hoffe auf zielführende Hinweise ...

m.b.G. Rolf