以下ジャンルテーブルがあり、ジャンルごとに行数をカウントしたいです。
|gn1|gn1|g2|gn2|
|:--|:--:|--:|
|1000|メンズファッション|100|トップス
|1000 | メンズファッション |200 | アウター
|1000 | メンズファッション |300 | ボトムス
|2000 | レディースファッション|400 | トップス
|2000 | レディースファッション|500 | ボトムス
|2000 | レディースファッション|600 | アウター
<条件>
メンズファッション>トップス → 1
メンズファッション>トップス以外 →2
レディース>トップス → 3
レディース>トップス以外 → 4
レディース>トップスとボトムス以外 →5
<<条件の結果>>
no | simple_count(count(*)) |
---|---|
1 | xxxx |
2 | xxxx |
3 | xxxx |
4 | xxxx |
5 | xxxx |
<記述した内容> select case when g1 = 1000 and g2 = 2000 then 1 when g1 = 1000 then 2 when g2 = 400 then 3 when g2 <> 400 then 4 else 5 end simple_count, count(*) as count from detail_tbl a inner join order_tbl o on a.order_no = o.order_no inner join genre_dimension b on a.genre_id = b.genre_id where b.g1 in (1000,2000) group by 1 ;
and や <> の書き方が正しくないため、1から5までの
カウント結果が抽出されません。
1~5の条件の記述の方法をご教示いただけないでしょうか。
動作確認環境:teradata studio express
回答2件
あなたの回答
tips
プレビュー