Asakusa Framework Advent Calendar 2019の22日目、SQLをAsakusaFWに変換するポイントについてです。
SQLで結構やっかいなのが、サブクエリーです。SELECT句やらWHERE句やら、値を書ける場所ならどこにでも書けるSELECT文です。
スカラサブクエリーなら取得できるのは1件だけなのでまだましですが。
サブクエリーをWHERE条件で結合している場合、AsakusaFWではそれが結合キーになります。
サブクエリーのデータの量が少ないならGroupViewを使うのが一番簡単です。GroupViewならConvert演算子やBranch演算子でも使えるので。
そうでなければ、ConvertやBranchの前にCoGroup演算子等でサブクエリーの値を取得・結合する形になるでしょう。
複数のサブクエリーがある場合、結合キーが1種類で済むならCoGroupひとつでいけますが、そうでないなら、サブクエリーの数だけCoGroupが必要となり、あまり好ましい感じはしないのですが、仕方ないですね^^;