hi!
Zitat:
In einer Tabelle will ich die Künstler ablegen.
Jeder Künstler soll mit mehreren anderen Künstlern in Verbindung stehen können (Unterschiedliche Projekte von einem Künstler, Verwandschaften Wink usw.)
Die Art der Beziehung ist dabei nicht wichtig. Es geht nur drum von einem Künstler auf eine Handvoll andere zugreifen zu können.
Wie kann ich diese Verknüpfung machen?
Wenn die Tabelle so asussieht...
Beziehung
=========
PK Künstler_ID ..dieser Künstler
FK Beziehung_ID ...hat diese Bezieuhng
ToKünstler_ID ...mit dieser Künstler
Dann...
SELECT Künstler_ID AS Künstler , ToKünstler_ID AS Bezieuhng_zu ...hier hast du dein Künstler und der Künstler zu dem er eine Bezuiehung hat.
FROM Beziehung
WHERE Bez.Beziehung_ID = <die Gewünschte Beziehung>
AND Künstler_id = < dein gesuhtes Künstler> ....hier das Wichtigste!!! so legst du fest wie die Verknüpfungen aussehen
..damit hast du einen Künstler ausgewählt und kriegst all seine PArtner mit der er in eine Beziehung steht.
wenn du ALLE mit ALLE ( kartesicher prodzukt aller Beziehungen ) dann:
Select bez1.Kpnstler _id, bez2.Künstler_ID
from Beziehung AS Bez1 , Beziehung As bez2
where bez1.ToKünstler_ID = bez2.Künstler_ID
..im Gross und Ganzen sieht deine Abfrage so aus. Jetzt kommen
DB-abhängige Änderungen noch dazu
.
gruss,
daniel