With句を複数回使ってみるの巻
With alice As
(
SELECT
f1+'_'+f2 AS grp_key
,SUM(f3*f4) AS agg
FROM t_foo
GROUP BY f1+'_'+f2
)
, bob AS --ここでWithと書かず、カンマで続きを。
(
SELECT
f1+'_'+f2 AS grp_key
,*
FROM t_foo
)
SELECT
bob.*
,alice.agg
FROM
bob INNER JOIN alice
ON bob.grp_key = alice.grp_key
初めてWith句を複数回使おうとした時、こんな感じの書き方をしました。
With a AS
(
****
)
With b AS
(
****
)
でも動いてくれなくて、「Withは1回しか使えないんだろうか??」
とも思ったんですが、ググってみたら動く書き方が見つかりました。(Qiitaありがとう)
2回目以降のWith句には ”With"を書かずカンマで繋いでゆくと。
With1個じゃ足りん!ってなりそうですもんね^^;
AccessでもWith句使えればいいのになぁ。
(そしてコメントアウトも出来ればいいのになぁ。)