Sono nuovo di Scala e Slick. Sto cercando di capire il modo in cui dovrei creare query con Slick. Sono arrivato così lontano che sono stato in grado di creare query semplici ma fatica a combinare SELECT, JOIN, GROUP BY ecc.Query slick con più join, gruppo per e avendo
Sono nel bel mezzo della conversione del mio bookshelf virtuale (meade con PHP) in Scala, Gioca e Slick.
Questa è la domanda che voglio realizzare:
Lista quegli autori (limite a 5), dal quale ho almeno 3 libri nella mia libreria.
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
A quanto pare con il seguente codice che sono riusciti a creare il necessario unisce:
(for(b <- books; a <- authors; ba <- bookAuthors; if b.id === ba.bookId && a.id === ba.authorId) yield (a.id, b.id)).run
Mi sono perso su come applicare SELECT, GROUPBY e dovendo il codice di cui sopra.
prega, dare un'occhiata a [questo] (http://slick.typesafe.com/doc/2.1.0- M2/from-sql-to-slick.html # having) pagina di documentazione slick. –
Oppure puoi mantenere la query SQL e guardare Anorm per analizzare il risultato. – cchantep