[odb-users] Raw SQL statement

Boris Kolpackov boris at codesynthesis.com
Mon Dec 8 06:39:27 EST 2014


Hi Adnan,

Adnan RIHAN <axel50397 at gmail.com> writes:

> I simply need to do a “COUNT(*)... WHERE ...”.
> 
> So I’m looking for a way to query the database for 1 named column,
> but I can’t find how (except using views and adding structures).
> 
> Is that possible ?

Yes, using views:

#pragma db view object(person)
struct person_count
{
  #pragma db column("COUNT(" + person::id_ + ")")
  std::size_t count;
};

typedef odb::query<person_count> query;

db.query<person_count> (query::name == "John");

Or:

#pragma db view
struct some_count
{
  std::size_t count;
};

db.query<some_count> ("SELECT COUNT(*) WHERE ... ");

Boris



More information about the odb-users mailing list