The question SQL Server: How to Join to first row shows the way to achieve in SQL. I'm using slick 3.0, having three tables as:
class ABRelationTable(tag: Tag) extends Table[(Int, Int)](tag, "A_B_RELATION") {
def aId = column[Int]("A_ID")
def bId = column[Int]("B_ID")
def * = (aId, bId)
}
class ACRelationTable(tag: Tag) extends Table[(Int, Int)](tag, "A_C_RELATION") {
def aId = column[Int]("A_ID")
def cId = column[Int]("C_ID")
def * = (aId, cId)
}
class ATable(tag: Tag) extends Table[(Int, String)](tag, "A") {
def id = column[Int]("ID")
def data = column[String]("DATA")
def * = (aId)
}
What I want is to give a bId
to get an object A and ONE possible cId
. For example:
Table A:
ID DATA
==================
1 101
2 102
3 103
Table A_B_RELATION
A_ID B_ID
=================
1 1
2 1
3 2
Table A_C_RELATION
A_ID C_ID
=================
1 1
2 1
2 2
Given bId = 1
, the result can be:
A_ID DATA C_ID
=====================
1 101 1
2 102 1
Thanks!