GRAILS:createCriteria NAND
我在createCriteria中的查询中有一大堆行,但是必须进行一些更改,我需要在一列中隐藏带有0的行,在另一列中隐藏带有字母a的行,但是如果它们有0和另一个字母,我不会隐藏它们,我如何在createCriteria中进行此操作?我唯一的解决方案是使用NAND,但我认为它不存在GRAILS:createCriteria NAND,grails,createcriteria,Grails,Createcriteria,我在createCriteria中的查询中有一大堆行,但是必须进行一些更改,我需要在一列中隐藏带有0的行,在另一列中隐藏带有字母a的行,但是如果它们有0和另一个字母,我不会隐藏它们,我如何在createCriteria中进行此操作?我唯一的解决方案是使用NAND,但我认为它不存在 createCriteria.list{ nand{ eq('value',0)
createCriteria.list{
nand{
eq('value',0)
eq('letter','A')
}
}
TABLE
VALUE LETTER
0 A HIDE
0 B NOT HIDE
1 A NOT HIDE
有什么建议吗 尝试“ne”,不等于
createCriteria.list{
and{
eq('value',0)
ne('letter','A')
}
}
您可以使用
和
和ne
进行以下操作:
createCriteria.list {
and {
ne 'value', 0
ne 'letter', 'A'
}
}
使用HQL,您可以执行以下操作:
def result = Object.executeQuery(
"from Object o where o not in " +
"(from Object o2 where o2.value = '0' and o2.letter = 'A')",
)
SQL格式的条件是什么?从MyEntity中选择*其中值==0和字母“A”?但可以通过另一种方式完成,因为它不会显示带有A或0的对象,我需要两者都存在于同一行中,以隐藏该对象必须为您工作。如果没有,你就做错了。