Re: [gnome-db] GdaSqlQuery: sub-queries



On Wed, 2010-05-12 at 18:36 +0200, Vivien Malerba wrote:
> On 12 May 2010 12:36, Vivien Malerba <vmalerba gmail com> wrote:
> > On 12 May 2010 12:25, Murray Cumming <murrayc murrayc com> wrote:
> >> In Glom I have a generic function like so:
> >> int count_rows_returned_by(const std::string& sql_query)
> >> {
> >>  std::string query_count =
> >>    "SELECT COUNT (*) FROM ("
> >>    + sql_query
> >>    + ") AS glomarbitraryalias";
> >>  ...
> >> }
> >>
> >> So with GdaSqlBuilder, is there any way to use a sub-query as the
> >> target? gda_sql_builder_select_add_target_id() seems to be only for
> >> specifying tables as targets:
> >> http://library.gnome.org/devel/libgda/unstable/GdaSqlBuilder.html#gda-sql-builder-select-add-target-id
> >>
> >
> 
> It's possible using gda_sql_builder_select_add_target_id() with a
> minor correction I've made,
> see http://git.gnome.org/browse/libgda/commit/?id=9b8778a08ffad208d8da159643b38d0f61482c6b

Thanks. Should it work like this?

GdaSqlBuilder* builder =
  gda_sql_builder_new (GDA_SQL_STATEMENT_SELECT);
const guint target_id =
  gda_sql_builder_add_sub_select(builder, 0,  
    inner_builder->get_sql_statement());
gda_sql_builder_select_add_target_id(builder, 
  target_id);
gda_sql_builder_add_function(builder, "COUNT", 
  gda_sql_builder_add_id(builder, "*"));

I'm getting these errors from that, though I haven't tried a simple C
test case yet:
"SELECT does not contain any expression"


-- 
murrayc murrayc com
www.murrayc.com
www.openismus.com



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]