2011-03-10 5 views
0

HQLの作成に問題があります。 問題は、私はこのような何かがHQLHQLで条件ごとに異なる条件で2つのフィールドをカウントする方法

select 
    tb.aca_year, 
    (case when tw.isfulltime = 1 then count(te) end) as fulltime, 
    (case when tw.isfulltime = 0 then count(te) end) as parttime 
from timetable tb, teacher te, teacherworktype tw 
    where ............. 
    group by tb.aca_year 
................ 

に転送する任意の提案をしてくださいしたいということでしょうか?あなたはこのような何かを行うことができます

+0

あなたはクラスのモデルを知らなくても、HQLを書き込むことはできません。だからあなたのクラスについて何か教えてください... –

+0

私の質問についてはありがとうございます。しかし、これらのクラスは非常に長いです。私を助けるために私の質問に基づいてください。 – Nathanphan

+0

私は混乱しています。 'tw.isfulltime'が集計関数でなく、group by節の' tw.isfulltime'でないときに 'tw.isfulltime'が実際に働くのはどうでしょうか? –

答えて

0

よろしく、:

select tb.aca_year, 
    sum(case when tw.isfulltime = 1 then 1 else 0 end) as fulltime, 
    sum(case when tw.isfulltime = 0 then 1 else 0 end) as parttime 
from timetable tb, teacher te, teacherworktype tw 
where ............. 
group by tb.aca_year ................ 
関連する問題