ORMを使う場合の例は http://fuelphp.jp/docs/1.9/packages/orm/crud.html#/subqueries を参照。

Query Builderを使う場合、Query_Builder_Select::compile()を使うとサブクエリのSQLを文字列にすることが出来る。

上記URLの例をQuery Builderで作成するとこのような感じ。サブクエリのSQL文字列がクオートやバッククオートで囲まれないようにDB::expr()してあげる。

$sub_query = DB::select('author')
    ->from('articles')
    ->where('date', '<', time())
    ->where('draft', '=', 1)
    ->compile(Database_Connection::instance());

$query = DB::select()
    ->from('articles')
    ->where('author', '=', 16)
    ->or_where('author', DB::expr($sub_query));

$query->execute();