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

Murray Cumming <[email protected]>
Newsgroups gmane.comp.gnome.db
Message-ID <1274107110.26397.5.camel@murrayc-desktop>
On Wed, 2010-05-12 at 18:36 +0200, Vivien Malerba wrote:
> On 12 May 2010 12:36, Vivien Malerba <[email protected]> wrote:
> > On 12 May 2010 12:25, Murray Cumming <[email protected]> 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"


-- 
[email protected]
www.murrayc.com
www.openismus.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.