Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何使用slick 3.2在select子句中编写嵌套查询+_Scala_Slick - Fatal编程技术网

Scala 如何使用slick 3.2在select子句中编写嵌套查询+

Scala 如何使用slick 3.2在select子句中编写嵌套查询+,scala,slick,Scala,Slick,有没有办法使用slick 3.2+创建嵌套选择? 基本上我需要描述的都在这里 但是,在slick 3.2上,这种方法不起作用。如果您有表Users id:UUID、email:String和Persons userId:UUID、name:String、姓氏:String而不是query select email from Users where id in (select userId from Persons where name = 'J

有没有办法使用slick 3.2+创建嵌套选择? 基本上我需要描述的都在这里

但是,在slick 3.2上,这种方法不起作用。

如果您有表Users id:UUID、email:String和Persons userId:UUID、name:String、姓氏:String而不是query

select email
from Users
where id in (select userId
             from Persons
             where name = 'John'
             and surname = 'Smith')
看起来有点像:

users
  .filter(
    _.id in persons
              .filter(p => p.name === "John" && p.surname === "Smith")
              .map(_.userId)
  )
  .map(_.email)
  .result
你需要记住的事情:

查询类型不是DBIO或DBIOAction-如果要组合查询,需要在对其调用.result之前进行组合 在条件中使用子查询时,请在中使用,而不是插入
同样的原则应该适用于您是否使用in、join等。

谢谢,但我需要嵌套选择,即选择p.1,从表a中选择a.2,其中p.id=a.id来自表a,因为您可以重写它:tableA.mapa=>a.id,a.2 join tableB.mapb.id,b.1开u.\u 1===u.map.\u 4。或者,只需使用sqlquery。