2

如果我有两个表域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
4

1 回答 1

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])
于 2013-08-26T22:44:36.477 回答