0

頭痛の種となる HQL クエリがあり、フレンドリーな HQL ウィザードが助けてくれることを願っています。

本当に単純なことをしようとしていると思いますが、すべてを理解することはできません。

いくつかのデータをグループ化してカウントしてテーブルに表示したいのですが、何らかのネストされたクエリが必要だと思いますが、その方法がわかりません。

基本的に、ルックアップ (clienttype) および (clientsex) として使用される他のテーブルとの関係を持つテーブル (clients) があります。関係は 1-m です。クライアントをタイプ別にグループ化し、男性を数える列と女性を数える別の列を作成したいと考えています。例えば

Type    | males | females

type A  | x     | x

type B  | x     | x

男性または女性を取得するためだけにクエリを実行できますが、2 番目の列を取得する方法がわかりません。

これが理にかなっており、可能であり、誰かが助けてくれることを願っています.

どうもありがとう、

クレイグ


男性だけを取得するクエリは次のとおりです。

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

性別ごとに「1」を合計する場合があります。このようなもの :

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 に答える