Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected def locationGroupLinkTable: Query[(Rep[LocationGroupId], Rep[LocationId]), (LocationGroupId, LocationId), Seq] = {
- import common.Contexts.simpleDbLookups
- import profile.api._
- val rawData: Seq[LocationGroupLink] = Await.result(locationGroupLinkRepository.all, Duration.Inf)
- val tableRows: Seq[Query[(ConstColumn[LocationGroupId], ConstColumn[LocationId]), (LocationGroupId, LocationId), Seq]] = {
- rawData.map { link =>
- Query(link.groupId, link.merchantId)
- }
- }
- val subQuery: String = rawData.map { link =>
- (link.groupId.value, link.merchantId.value)
- }.map { case (locationGroupId, merchantId) =>
- s"SELECT $locationGroupId AS L, $merchantId AS M FROM DUAL"
- }.mkString(" UNION ")
- val sql: String = s"SELECT L, M FROM ($subQuery)"
- val q: SqlStreamingAction[Vector[(LocationGroupId, LocationId)], (LocationGroupId, LocationId), Effect] = {
- sql"""#$sql""".as[(LocationGroupId, LocationId)]
- }
- q
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement