Scala Slick 3.0&;Postgres 9.4:加入第一行
这个问题显示了在SQL中实现的方法。我使用的是slick 3.0,有三个表:Scala Slick 3.0&;Postgres 9.4:加入第一行,scala,slick,typesafe,Scala,Slick,Typesafe,这个问题显示了在SQL中实现的方法。我使用的是slick 3.0,有三个表: 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 Ta
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)
}
我想要的是给出一个bId
来获得一个对象a和一个可能的cId
。例如:
表A:
ID DATA
==================
1 101
2 102
3 103
表A_B_关系
A_ID B_ID
=================
1 1
2 1
3 2
表A_C_关系
A_ID C_ID
=================
1 1
2 1
2 2
给定bId=1
,结果可以是:
A_ID DATA C_ID
=====================
1 101 1
2 102 1
谢谢 以下是您的查询 val query=A.join(A_C_关系).on(u.ID==u.A_ID) .join(A\u B\u关系).on(u.ID==u.A\u ID).filter(u.B\u ID==) 其中A、A_C_关系、A_B_关系是各个表的表查询
请参阅更多示例。以下是您的查询 val query=A.join(A_C_关系).on(u.ID==u.A_ID) .join(A\u B\u关系).on(u.ID==u.A\u ID).filter(u.B\u ID==) 其中A、A_C_关系、A_B_关系是各个表的表查询 有关更多示例,请参阅