例如,假设一个表“values”包含4列A,B,C和D.现在,我想添加B,C,D,其中A = 10.
对于单列,它是这样的:
def c=values.createCriteria{
eq("A",10)
projections{
sum("B")
}
}
如何在A = 10的情况下添加B,C和D?
答案 0 :(得分:1)
尝试这样的事情
def c=values.createCriteria().get{
eq("A",10)
projections{
sum("B","b")
sum("C","c")
sum("D","d")
}
resultTransformer(AliasToEntityMapResultTransformer.INSTANCE)
}
然后你可以构建一个地图或列表[sumB:c.b,sumbC:c.c,sumD:c.d] 像那样的东西
def bcd=c.b+c.c+c.d
得到你的最终价值并抱歉如果这还不是你想要的,但这就是我从你的解释中得到的
答案 1 :(得分:0)
你可以这样做:
SELECT B,C,D,(B+C+D) AS sum FROM values WHERE A=10;
或
SELECT (B+C+D) AS sum FROM values WHERE A=10;
认为这会有所帮助。
答案 2 :(得分:0)
你可以在控制器中这样写:
def sumList = Values.executeQuery("SELECT (B+C+D) AS sum FROM Values WHERE A=10")
println(sumList)