# データの確認 $ gcloud sql connect serverless-demo-db --user=postgres --quiet --database=dvdrental dvdrental=> \dt List of relations Schema | Name | Type | Owner --------+---------------+-------+---------- public | actor | table | postgres public | address | table | postgres public | category | table | postgres public | city | table | postgres public | country | table | postgres public | customer | table | postgres public | film | table | postgres public | film_actor | table | postgres public | film_category | table | postgres public | inventory | table | postgres public | language | table | postgres public | payment | table | postgres public | rental | table | postgres public | staff | table | postgres public | store | table | postgres (15 rows)
クエリの作成
さて、では2007年03月の担当者別売上げ(っぽい)クエリを作ってみます。
今回は分析用にこのデータがすごく欲しいと仮定します。
WITH staff_detail as ( SELECT staff.staff_id, staff.first_name ||' '|| staff.last_name as staff_name, store.store_id FROM staff LEFTJOIN store ON store.store_id = staff.store_id ) SELECT staff_detail.staff_id, staff_detail.staff_name, staff_detail.store_id, payment.payment_date, payment.amount, payment.customer_id FROM payment LEFTJOIN staff_detail ON payment.staff_id = staff_detail.staff_id WHERE '2007/03/01'::timestamp<= payment_date and payment_date <'2007/03/31'::timestamp;
データのサーバレスエクスポート実践!
CLIからももちろん可能ですが、今回は画面からエクスポートを行ってみます。
SQLクエリ部分に先ほど記載したSQLをおもむろに貼り付けます。
一時インスタンスへのエクスポートをオフロードするにチェックを入れます。
エクスポートが開始されると概要画面に戻りぐるぐる回ります。
が、WITH句には対応していませんでした・・・
気を取り直してサブクエリ版のSQLを作成します。
SELECT staff_detail.staff_id, staff_detail.staff_name, staff_detail.store_id, payment.payment_date, payment.amount, payment.customer_id FROM payment LEFTJOIN( SELECT staff.staff_id, staff.first_name ||' '|| staff.last_name as staff_name, store.store_id FROM staff LEFTJOIN store ON store.store_id = staff.store_id ) AS staff_detail ON payment.staff_id = staff_detail.staff_id WHERE '2007/03/01'::timestamp<= payment_date and payment_date <'2007/03/31'::timestamp;