SQL
SQLにletやlet recに相当する構文があることを知りました。
(この辺とか参考に http://www.atmarkit.co.jp/fnetwork/tokusyuu/01sql99/sql99_1b.html)
letはWITHを使って書きます。
WITH tmp1 AS ( SELECT a1, a2, SUM(a3) s3 FROM tbla GROUP BY a1, a2 ) SELECT b.b1, t.a2, t.s3 FROM tmp1 t JOIN tblb b ON t.a1 = b.b2
let recはWITH RECURSIVEを使って書きます。
WITH RECURSIVE tmp1 AS ( SELECT obj_id, parent_id FROM tbla WHERE obj_id = 1 UNION ALL SELECT obj_id, parent_id FROM tbla WHERE parent_id = tmp1.obj_id ) SELECT * FROM tmp1
WITH RECURSIVEの書き方ににやりとしてしまうのは私だけでしょうか?