SQLite を使用してモバイル プロジェクトに取り組んでいるときに、次のコードのようなクエリに遭遇しました。
SELECT col_aa, col_ab FROM tbl_a
WHERE col_ac IN (SELECT col_ba FROM tbl_b WHERE col_bb IN (SELECT col_ca FROM tbl_c WHERE col_cb = 1))
AND col_ad IN (SELECT col_ba FROM tbl_b WHERE col_bb IN (SELECT col_ca FROM tbl_c WHERE col_cb = 1))
これらのサブクエリが冗長で無駄が多いことは明らかです。
いくつかの調査の結果、共通テーブル式である CTE が解決策になるようですが、その機能は SQLite では利用できません。(したがって、WITH temp AS ステートメントが機能するかどうかはわかりません)
サブクエリからの結果を再利用するためにクエリを再構築するより良い方法はありますか?