お客様の誕生日を使用して、以下の各年齢グループにカウントを取得したいと考えています。顧客はまた、特定の条件を満たす必要があります。私は2つのテーブルを使用する必要があります。生年月日を使用している年齢グループ
次の表と列を使用して18 to 25
26 to 35
36 to 45
46 to 55
56 to 65
65 and over
:
BRTH_DT - birthday
MSTR_CUST - customer table where BRTH_DT is
MSTR_ACT - account table where BR_CD is
BR_CD - code , I want to include all customer with code like '%00%'
CUST_ODT - customer open date from customer table, I want to include dates between '2017-11-01' and '2017-11-30'
私はいくつかの構文を試してみましたが、それは動作しません。私はHadoopを使用しています。
問合せ:
SELECT (
CASE
WHEN EXTRACT (YEAR FROM (select sysdate from dual)) - EXTRACT (YEAR FROM BRTH_DT) BETWEEN 18 AND 25
THEN '18-25'
ELSE
CASE
WHEN EXTRACT (YEAR FROM (select sysdate from dual)) - EXTRACT (YEAR FROM BRTH_DT) BETWEEN 26 AND 35
THEN '26-35'
ELSE
CASE
WHEN EXTRACT (YEAR FROM (select sysdate from dual)) - EXTRACT (YEAR FROM BRTH_DT) BETWEEN 36 AND 45
THEN '36-45'
ELSE
CASE
WHEN EXTRACT (YEAR FROM (select sysdate from dual)) - EXTRACT (YEAR FROM BRTH_DT) BETWEEN 46 AND 55
THEN '46-55'
ELSE
CASE
WHEN EXTRACT (YEAR FROM (select sysdate from dual)) - EXTRACT (YEAR FROM BRTH_DT) BETWEEN 56 AND 65
THEN '56-65'
ELSE
CASE
WHEN EXTRACT (YEAR FROM (select sysdate from dual)) - EXTRACT (YEAR FROM BRTH_DT) > 65
THEN '65andOver'
END) from MSTR_ACCT_A JOIN MSTR_CUST B
where B.CUST_ODT between '2017-11-01' and '2017-11-30' and A.BR_CD like '%00%';
こんにちはramonesfan、あなたの質問を改善するために、あなたの質問には機能していない質問を含める必要があります。何がうまくいかないか説明してください。エラーが発生していますか?予想外の結果ですか? –
私は下のクエリが動作しません。私は彼もこのサイトからの質問をします。私は構文を誤解しているかもしれません。 – ramonesfan
ハーフアウトでは何を使用していますか?あなたはハイブを使用していますか?あなたはファイルのサンプルを投稿できますか? – shainnif