• ベストアンサー

SQLITE3で階層問い合わせを行う方法

ご覧いただき、ありがとうございます。 iPhoneアプリの作成でSQLITE3を使っているのですが、 http://codezine.jp/article/detail/2694 上記のURLに書いてある、 階層問い合わせはできないのでしょうか? 複数回、SQLを発行すればいいのですが効率が悪いので 何か良い方法をご存知の方がいらっしゃいましたら、回答お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

階層問い合わせは、Oracleの独自機能です。類似機能を持つのは、PostgreSQLが非標準のセットアップ作業を追加して行うことで実装可能になっています。 標準SQLでは、WITH句での共通表式の拡張として、再帰クエリが規定されており、いくつかの主要RDBMSで既に実装されており、この機能を使うことで階層問い合わせに相当することを実現可能です。 SQLiteでは、階層問い合わせ、再帰クエリとも実装していません。標準SQL準拠を進める上で、将来的には再帰クエリが実装されるかも知れません。 既存の機能で実装するということであれば、階層問い合わせの上限を決め、自己結合することで可能です。 しかし具体的なアドバイスを得るための情報が何ら提示されていないため、これ以上のアドバイスはできません。

gigadelic
質問者

お礼

ご丁寧な回答、ありがとうございます。 3階層もあれば問題ないアプリなので、自己結合でなんとかなりそうです。

関連するQ&A