Bitte lesen Sie sorgfältig, weil mein Englisch ist nicht gut, und die Frage hat keine einfache Antwort!Join mit mehreren Reihen für die Volltextsuche
Ich habe eine einfache Struktur wie folgt:
table nodes
------------------------
nodeId | name
1 | Mazda Miata 2.0
2 | Red Cars
3 | Mazda Cars
4 | Sport cars
table associations
------------------------
nodeId | hasNodeId
1 | 2
1 | 3
1 | 4
3 | 4
3 | 1
und ich möchte jede Zeile der ersten Tabelle auszuwählen Verbinden (in der gleichen Zeile), um alle zugeordneten Reihen, entsprechend dem, was durch die Tabelle festgelegt ist „Verbände“
das Problem ist, dass ein Knoten mit einem einzigen Knoten verbinden, gibt mir die Volltext Relevanz eines einzelnen zugehörigen Knoten: was ich will, ist die Relevanz aller zugehörigen Knoten
danke
bearbeitet, sollte die Join-Folge sein, wie du so vorstellen, die Suche Volltext mit:
nodeId | name | joinedName | fulltextRelev
1 | Mazda Miata 2.0 | Red Cars | 4.2
1 | Mazda Miata 2.0 | Mazda Cars | 2.3
1 | Mazda Miata 2.0 | Sport Cars | 3.2
die vorherigen ist ein abstrakter Tisch, was ich wirklich will mit dem einzigartigen/deutlichem nodeId, erhalten Summe der fulltextRelevance der vorherigen Tabelle ... wie folgt aus:
nodeId | name | fulltextRelevSUM
1 | Mazda Miata 2.0 | 9.7
9.7 = 4.2 + 2.3 + 3.2
Ich denke, es wird besser sein, zuerst Ihre eigene Problemlösung zu zeigen, oder zumindest erwartete Ausgabe – golgofa
Ich weiß es nicht Wie zu lösen, ist es offensichtlich, dass ich nicht mit einer nicht definierten Anzahl von Zeilen eine Reihe verbinden kann, aber vielleicht mit GROUP BY, oder so ähnlich, kann ich die globale Volltext-Relevanz – skyline26
1 | Mazda Miata 2.0 | Relevanz 2.3 | "Mazda" .... 1 | Mazda Miata 2.0 | Relevanz 4.4 | "rot" etc ... Ich möchte eine einzelne Zeile, die mir Relevanz 2.3 + 4.4 gibt, weil ich ORDER BY globalRelevance DESC tun möchte – skyline26