Hi,
folgendes Problem. Ich realisiere gerade eine Graphenstruktur. Dazu speichere ich in einer MySQL Tabelle jeweils die Kanten (also eine Spalte mit "Knoten1" und eine mit "Knoten2"). Nun möchte ich gerne eine Liste von Nachbarknoten für KnotenX ausgeben und gleichzeitig auszählen wieviele weitere Kanten an die jeweiligen Nachbarknoten angrenzen. Dabei soll der Graph ungerichtet sein. Also sprich wenn ich in der Tabelle eine Kante mit "Knoten1": X und "Knoten2": Y habe, dann soll sowohl von X->Y als auch X<-Y eine Kante gezählt werden.
Nachbarknoten von X:
Knoten Y - 27 weitere Verbindungen
Knoten Z - 12 weitere Verbindungen
Erschwerend kommt noch hinzu, das ich zu "Knoten X" noch weitere Informationen aus einer zweiten Tabelle mit den Knoteninfos abrufen will. Der derzeitige Befehl für den Knoten mit der ID 'X' sieht ungefähr so aus:
SELECT knoten.name, [...] FROM kanten LEFT JOIN knoten ON kanten.knoten1 != 'X' AND kanten.knoten1 = knoten.ID OR kanten.knoten2 != 'X' AND kanten.knoten2 = knoten.ID WHERE kanten.knoten1 = 'X' OR kanten.knoten2 = 'X';
Kann ich das auszählen der Verbindungen der Nachbarknoten noch irgendwie in der Abfrage realisieren oder muss ich das extra machen?
Marc