我想用一些过滤器来计算我所在城市的人口
val filter = sex match{
case "all"=>""
case "men" => "where sex = 'men'"
case "women" => "where sex = 'women'"
}
sql"""
select * from users $filter
""".map{...}.apply
但它的错误是这样的
SELECT * FROM users 'where sex = 'women''
过滤器字符串只是一个我不需要的字符串。我该如何解决这个问题呢?
发布于 2015-06-24 06:23:20
您需要使用两个不同的查询:
val results = sex match{
case "all"=>sql"""
select * from users""".map{...}.apply
case _ => sql"""select * from users where sex = $sex""".map{...}.apply
}
或者使用适当的参数:
val filter = sex match{
case "all"=>"%"
case "men" => "men"
case "women" => "women"
}
sql"""
select * from users where sex = $filter
""".map{...}.apply
https://stackoverflow.com/questions/31016977
复制相似问题