Ich bin neu in Scala und Slick. Ich versuche zu verstehen, wie ich mit Slick Abfragen erstellen soll. Ich bin so weit gekommen, dass ich einfache Abfragen erstellen konnte, aber mit SELECTs, JOINs, GROUP BYs usw. zu kämpfen habe.Slick Abfrage mit mehreren Joins, Gruppe von und mit
Ich bin gerade dabei, mein virtuelles Bücherregal (meade mit PHP) in Scala umzuwandeln, Spielen und Slick.
Dies ist die Abfrage, die ich erreichen will:
Liste jene Autoren (Limit bis 5), von dem ich mindestens 3 Bücher in meinem Bücherregal haben.
SELECT
a.id,
a.firstname,
a.lastname,
count(b.id) AS amount
FROM
book b LEFT JOIN book_author ba ON b.id = ba.book_id
LEFT JOIN author a ON a.id = ba.author_id
GROUP BY
a.id
HAVING
amount >= 3
ORDER BY
amount DESC
LIMIT
5
Offenbar mit dem folgenden Code Ich habe verbindet die erforderlich schaffen verwaltet:
(for(b <- books; a <- authors; ba <- bookAuthors; if b.id === ba.bookId && a.id === ba.authorId) yield (a.id, b.id)).run
Ich bin verloren, wie oben SELECT, GROUPBY und die mit dem Code anzuwenden.
bitte einen Blick auf [diese] haben (http://slick.typesafe.com/doc/2.1.0- M2/from-sql-to-slick.html # mit) glatter Dokumentationsseite. –
Oder Sie können die SQL-Abfrage behalten und Anorm betrachten, um das Ergebnis zu analysieren. – cchantep