Hallo alle,
Tja, um es mal kurz zu machen: ich habe eine Datenstruktur mit zwei Tabellen, eine Tabelle
'documents' und eine Tabelle 'attributes'. Die Dokumenten-Tabelle hat zwei Felder: 'id' und
'type'. Die 'attributes'-Tabelle hatt die Felder 'id' (vererbt von documents(id)), 'name' und
'data'. Zwischen 'documents' und 'attributes' ist eine 1:n-Beziehung: jedem Dokument koennen n
Attribute zugeordnet werden. Ich weiss, dass das nicht die beste Datenstruktur ist, aber fuer
die Daten, die ich bekomme (naemlich wirklich sehr generische Daten) die einzige Moeglichkeit.
Nun habe ich das Problem, dass ich alle 'attributes'-Eintraege zu einem 'documents'-Eintrag
haben moechte, bei dem ein 'attributes'-Eintrag einen bestimmten Wert hat. Konkreter: es sind
unter anderem User-Daten in dieser Struktur gespeichert. Ich moechte jetzt einen bestimmten
User heraussuchen, mit allen Attributen.
Die einzige Moeglichkeit, die mir hier einfaellt, ist ein 3er-Join, in dem ich die
'attributes'-Tabelle 2x hineinziehe und dann per
'where join1.name = "username" AND join1.data = "name"'
einschraenke. Das ist mir allerdings etwas zu bloed, die Datenmengen koennen dadurch ziemlich
schnell zu gross werden. Habt ihr vielleicht eine Idee, wie ich das besser loesen kann?
Gruesse,
CK