Ich arbeite in einer Publikation Management-Anwendung. Nach der Geschäftslogik kann eine Publikation zu einer anderen Publikation gehören, wenn ihre Texte eine Ähnlichkeit von mindestens 75% aufweisen. Also habe ich in der Datenbank eine Selbstbeziehung auf der publications
Tabelle erstellt.Ist es möglich, einen Self-Join in Sequel auszuführen?
Bisher habe ich die folgende Abfrage, die perfekt funktioniert:
SELECT
publications.id, publications.body,
similar_publications.id similar_id, similar_publications.body similar_body
FROM publications
LEFT JOIN publications similar_publications
ON similar_publications.id = publications.publication_id
WHERE publications.id = <an-id-here>;
Das Problem ist, dass ich diese Abfrage Sequel DSL, um zu „konvertieren“ wollen einfach in einer Art und Weise mein Modell zu nennen wie Also: Publication.including_similar_publications.where('publications.id = ?', 1)
Ich weiß, ich muss diese Methode in mein Modell erstellen. Mein Zweifel ist: Wie? Gibt es in Sequel ähnliche Ziele wie ActiveRecord
? Ein anderes Problem ist, dass, weil meine Abfrage ein SELF JOIN
ist, ich Aliasing auf LEFT JOIN
verwenden muss ... Erlaubt Sequel, dass ich Aliases die Art verwende, die ich in meiner Abfrage ausstellte? Wenn ja, wie?