0

我的 HQL 查询让我很头疼,我希望有一个友好的 HQL 向导可以提供帮助。

我想我正在尝试做一些非常简单但无法理解的事情。

我想对一些数据进行分组和计数以将其呈现在表中,并认为我需要某种嵌套查询,但无法弄清楚如何做到这一点。

基本上我有一个表(clients),它与用作查找(clienttype)和(clientsex)的其他表有关系。关系为 1 米。我想按类型对客户进行分组,然后有一列计算男性,另一列计算女性。例如

Type    | males | females

type A  | x     | x

type B  | x     | x

我可以做查询只是为了得到男性或女性,但不知道如何得到第二列。

希望这是有道理的,是可能的,并且有人能够提供帮助。

非常感谢,

克雷格


获取男性的查询是:

SELECT a.clientStatus, COUNT(c.sex)

FROM

Tblclientstatus AS a RIGHT OUTER JOIN a.tblclients AS b
LEFT OUTER JOIN b.tblsex AS c

WHERE c.sex = 'male'

GROUP BY a.clientStatus
4

1 回答 1

0

You can have a case when to add up "1" for each sex. Something like this :

SELECT a.clientStatus, 
COUNT(
case when c.sex = 'male' then 1
        else 0 end
) as males,
COUNT(
case when c.sex = 'female' then 1
        else 0 end
) as females,
FROM
Tblclientstatus AS a RIGHT OUTER JOIN a.tblclients AS b
LEFT OUTER JOIN b.tblsex AS c
GROUP BY a.clientStatus
于 2013-09-11T08:38:08.377 回答