Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I have two tables address ,UserAddressMapping in Adress table Adrressid ,Address is there and in the third table i mapped this userid and Addresss id

In sql

Select a.Addressid,a.AddressNmae 
from address table a 
inner join UserAdrressmaping b on a.Adessressid=b.Adreesid 
where userid=1

How to write this thing in Scala slick This is far what i have done

   def innerJoin1(UserId:Int): Future[Seq[UserRegister]]  =  {
 val join=address.join(addressid).on(_.Userid === _.UserId)

    dbConfig.run(join.result )
  }
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
703 views
Welcome To Ask or Share your Answers For Others

1 Answer

For inner join you could use slick applicative-join with filter clause. For example:

val query = for {
  (address, userAddressMapping) <- Address join UserAddressMapping on (_.id === _.addressId)
  if userAddressMapping.userId === 1
} yield (address.id, address.name)

dbConfig.run(query.result)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share

548k questions

547k answers

4 comments

86.3k users

...