On Saturday, March 14, 2009, Adrian Klaver wrote:
> On Saturday 14 March 2009 5:40:40 pm Carl Sopchak wrote:
> > When I run the following query through psql, it executes successfully.
> > However, when I run it through ODBC (via OpenOffice Base), I get the
> > error
> >
> > SQL Status: HY000
> > Error code: 1000
> >
> > syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE
> >
> > Is this some limitation of ODBC? (I don't think so, so I'm going to ask
> > on the OpenOffice lists, but thought I'd check here, too...)
> >
> > Query:
> >
> > select number_of_years,
> > max(case when trial_id = 1 then period_results else null end) as
> > MaxResults1, min(case when trial_id = 1 then period_results else null
> > end) as MaxResults1, max(case when trial_id = 2 then period_results else
> > null end) as MaxResults2, min(case when trial_id = 2 then period_results
> > else null end) as MaxResults2 from trial_results
> > where trial_id in (1,2)
> > group by number_of_years
> > order by number_of_years;
> >
> >
> > This is on Linux, Fedora 8, using PostgreSQL 8.3.6 and unixODBC...
> >
> > Thanks for the help,
> >
> > Carl
>
> This is an OO problem, at some point OO Base translates ODBC and JDBC
> queries into its native SDBC format and it has some parser limitations. To
> get this to run you will have to turn of the query builder and just run it
> as a pass through query.
Using Pass-Through did the trick. Thanks for the help!
Carl
P.S., In OpenOffice, on the SQL view window, there's a button with a box
and "SQL" in it. Activating that turns on pass-through.