如果我有两个表格域color
和shade
颜色为hasMany [shades: Shade]
且颜色为belongsTo [color: Color]
我有以下数据:
ID color_name color_type
---- -------- ----------
22 RED CRAYON
23 GREEN PAINT
45 GREY CRAYON
ID color_id shade_name is_available
--- ---------- ------------- ----------
2 22 DARK false
3 22 LIGHT true
4 23 DARK true
5 23 LIGHT true
6 45 DARK false
7 45 LIGHT false
如何构建标准以找出X阴影不可用的颜色数量?其中X是不可用的阴影数量?
所以,基于上面的例子:
如果我通过1
,我会回来的:
ID color_name color_type
---- -------- ----------
22 RED CRAYON
但是,如果我通过2
,我会回来的:
ID color_name color_type
---- -------- ----------
45 GREY CRAYON
答案 0 :(得分:1)
可以通过HQL这样做。不确定如何使用条件查询
Shade.executeQuery("Select distinct s.color \
from Shade s where \
(select count(distinct s2.name) \
from Shade s2 \
where s2.isAvailable = false \
and s2.color = s.color) = :numb",
[numb: yourvalhere])