Попробуйте
import slick.jdbc.PostgresProfile.api._
case class Member(id: Int, name: String, phone: String)
class MemberTable(tag: Tag) extends Table[Member](tag, "members") {
def id = column[Int]("id", O.PrimaryKey)
def name = column[String]("name")
def phone = column[String]("phone")
def * = (id, name, phone) <> (Member.tupled, Member.unapply)
}
case class Service(mid: Int, profile: Int, lastSeen: String)
class ServiceTable(tag: Tag) extends Table[Service](tag, "services") {
def mid = column[Int]("mid", O.PrimaryKey)
def profile = column[Int]("profile")
def lastSeen = column[String]("last_seen")
def * = (mid, profile, lastSeen) <> (Service.tupled, Service.unapply)
}
val members = TableQuery[MemberTable]
val services = TableQuery[ServiceTable]
case class SomeClass(mid: Int, name: String, services: Boolean)
members.joinLeft(services).on(_.id === _.mid).map {
case (m, s) => (m.id, m.name, s.isDefined).mapTo[SomeClass]
}