質問です。
create temp table テーブル1 (会員ID int,住所 text,会員登録日 text, 複数組織コード text[]);
insert into テーブル1 values
(1,'東京','20170801','{AA,BB,CC,DD,EE}'),
(2,'神奈川','20170601','{AA,LL,MM,KK,PP}'),
(3,'千葉','20170701','{SS,PP,CC,ZZ}'),
(4,'東京','20170801','{NO,SS,WO,HO}'),
(5,'東京','20170601','{NO,PO,HO}'),
(6,'東京','20170501','{PO,HO}'),
(7,'東京','20170801','{NO,SS,WO,HO}');
create temp table テーブル2 (会員ID int,アクションフラグ int);
insert into テーブル2 values
(1,0),
(3,1),
(4,0),
(6,0),
(7,1);
create temp table テーブル3 (会員ID int,組織コード text);
insert into テーブル3 values
(1,'AA'),
(1,'AA'),
(2,'AA'),
(4,'KK'),
(6,'SS');
テーブル1はマスターデータで会員IDは更新キーです。テーブル2,テーブル3は履歴データです。
東京に住む、アクションフラグ0で会員登録日が7月1日以降の組織コードがAA,SS,KKのユニーク会員ID数をカウントしたいです。
組織コードはテーブル1かテーブル3に値があれば1とカウントしたいです。両方(テーブル1、テーブル3)に値があっても、片方だけでも1カウントとしたいです。ユニークな会員数を出したいです。
テーブル2のアクションフラグは、テーブル1にもテーブル2にも関係します。
組織コード カウント数
AA 100
SS 120
KK 50
というように、一度に組織コード別にカウント数が出せると嬉しいです。
私の環境はPostgreSQL 9.4.7 です。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー