だから私は次のコードを持っています
SELECT CASE
WHEN ( ORG_CODE_PROV = 'ABC' ) THEN 'DEF'
ELSE ORG_CODE_PROV
END AS ORG_CODE_PROV ,
THE_DATE,
CASE
WHEN ( THE_NUMBER > '1' ) THEN 'Valid'
ELSE 'Invalid'
END AS THE_NUMBER,
Count(*) AS Amount
FROM THE_TABLE
GROUP BY ORG_CODE_PROV ,
CASE
WHEN ( ORG_CODE_PROV = 'ABC' ) THEN 'DEF'
ELSE ORG_CODE_PROV
END,
THE_DATE,
CASE
WHEN ( THE_NUMBER > '1' ) THEN 'Valid'
ELSE 'Invalid'
END
それは(より多くのデータをロードしても)の行に沿って何かを生成します
ORG_CODE_PROV | THE_DATE | THE_NUMBER | Amount
----------------------------------------------
ABC | 201204 | Invalid | 50
ABC | 201204 | Valid | 200
ABC | 201205 | Valid | 200
ABC | 201206 | Invalid | 50
ABC | 201206 | Valid | 100
ZYZ | 201204 | Invalid | 20
XYZ | 201204 | Valid | 200
しかし、私が望むのは、合計に対する無効な「数字」の割合を表示することです。
ORG_CODE_PROV | THE_DATE | THE_PERCENTAGE
----------------------------------------------
ABC | 201204 | 20
ABC | 201205 | 0
ABC | 201206 | 33
ZYZ | 201204 | 9
ピボットテーブルを使用する必要があるかもしれないと思いますが、ひどく行き詰まりました。何か助けはありますか?
ありがとう、
JJ
[編集]値は
、ORG_CODE_PROV
さらに下の IN 句に含まれているため、既知です。それがまったく役立つかどうかわかりませんか?