SQL/JSON:三重と愛知をまたがる郵便番号

最近は仕事でテスト仕様書を書いたりしてます。

市場バグを引き起こした優秀なデータたち – 末端のテスト屋さん

498-0000:愛知県と三重県に存在する重複した郵便番号

上のAdvent Calendarを見て以前OracleブログでJSONクエリーを書いたことを思い出しました。正確に言うとOracle用クエリーですがSQL/JSON標準もこんな感じじゃないのかな。

2県以上にまたがる郵便番号を求めるSQL。郵便番号JSON、その5 | Oracle Blog

Oracle DBにロードした郵便番号データの中から複数県にまたがるものを問い合わせるSELECT文

Oracleブログがプラットフォーム移行した際にフォーマットが壊れたので再掲します。

SQL> set timing on
SQL> l
  1   select count(t.pref),code
  2   from
  3   api_responses,
  4   json_table(response,
  5     '$' columns (
  6     code varchar path '$.code',
  7     nested path '$.data[*]'
  8     columns (
  9       pref varchar path '$.prefcode'
  10     )
  11     )
  12   ) t
  13   group by code
  14*  having count(unique(t.pref))>1
SQL> /

COUNT(T.PREF) CODE
------------- --------
            2 8710000
            2 4980000
            2 6180000

Elapsed: 00:00:01.84

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s