SELECT DISTINCT in Scala slick
As a work around you can try to use groupBy:
query.groupBy(x=>x).map(_._1)
It should have the same semantics as distinct, but I'm not sure about performance.
With slick 3.1.0 you can use distinct
and distinctOn
functions (Slick 3.1.0 release notes). For example:
val westCoast = Seq("CA", "OR", "WA")
val implicitInnerJoin = for {
c <- Coffees
s <- Suppliers if c.supID === s.id && s.state inSet westCoast
} yield c
db.run(implicitInnerJoin.distinctOn(_.name).result)
Update
Finally bug related to distinctOn
was resolved in slick 3.3.3