0

助けが必要です。

テーブルがあるとしましょう

ID  Mark  Transmition
1   Ford  A
2   Ford  A
3   Ford  M
4   BMW   M
5   BMW   M
6   Ford  A

そして今、私はケースをする必要があります。

CASE WHEN mark = 'Ford' then 'Ford'
     WHEN mark = 'Ford' and Transmition = 'A' then ' including Fords with automatic transmitions'

そして、ケースが存在する場合ではなく、ケースを使用してこれを行う必要があります。OBIEE レポートで使用する必要があるためです。

私が必要とする結果は次のようなものです:

Mark                                  Count
Ford                                  4
inc Ford with automatic transmition   3

しかし、結果はいくつかのケースで TRUE と評価されます...

あなたからの返信を楽しみにしています。

4

4 に答える 4

1

クエリ:

SELECT CASE WHEN mark = 'Ford' THEN 'Ford' END AS Mark,
COUNT(*)
FROM Table1 t
WHERE mark = 'Ford'
GROUP BY mark
UNION ALL
SELECT CASE WHEN mark = 'Ford' AND Transmition = 'A' 
              THEN 'including Fords with automatic transmitions' END AS Mark,
COUNT(*)
FROM Table1 t
WHERE mark = 'Ford'
AND Transmition = 'A' 
GROUP BY CASE WHEN mark = 'Ford' AND Transmition = 'A' 
              THEN 'including Fords with automatic transmitions' END

結果:

|                                        MARK | COUNT(*) |
|---------------------------------------------|----------|
|                                        Ford |        4 |
| including Fords with automatic transmitions |        3 |
于 2014-02-07T09:05:13.027 に答える
0

あなたはこのようにせずにそれを行うことができますCASE:

SELECT Mark, count(1) FROM car GROUP By Mark
UNION
SELECT 'Including '||Mark||' with automatic transmitions' as MM, count(1) FROM car WHERE Transmition = 'A' GROUP By MM;

結果:

|                                        MARK | COUNT(*) |
|---------------------------------------------|----------|
|                                         BMW |        2 |
|                                        Ford |        4 |
| including Fords with automatic transmitions |        3 |
于 2014-02-07T09:11:37.917 に答える
0

これを試してみてください

SELECT MARK,Count(1) AS Count FROM
 (
   SELECT CASE WHEN mark = 'Ford' and Transmition = 'A' then ' including Fords with automatic transmitions'
          WHEN mark = 'Ford' and Transmition <> 'A' then 'Ford'
          Else 'BMW'
          END Mark
   FROM Table1
) AS T Group By T.Mark

O/P :

MARK                                            COUNT
including Fords with automatic transmitions     3
BMW                                             2
Ford                                            1

フィドルのデモ

于 2014-02-07T09:16:30.723 に答える