Thanks Dan much appreciated

We are using 3.6.2 (the standard version on our ubuntu machines). We will 
upgrade to 3.6.16

Regards

Pavlos 

----- "Dan Kennedy" <danielk1...@gmail.com> wrote:
> On Aug 4, 2009, at 4:58 AM, Pavlos Christoforou wrote:
> 
> > Hello all,
> >
> > We are currently evaluating sqlite for using it as the
> > base engine for a financial reporting module. We have some
> > fairly complex queries which yield strange results. We have
> > tried to isolate the problem below. Please see select queries
> > at the end and associated comments which detail the issue:
> 
> Which version are you using? The output of running this script
> with 3.6.16 here is:
> 
>    x|cum_sum_x|total
>    10.0|10.0|110.0
>    10.0|20.0|110.0
>    20.0|40.0|110.0
>    30.0|70.0|110.0
>    40.0|110.0|110.0
>    x|cum_sum_x|total
>    10.0|10.0|110.0
>    10.0|20.0|110.0
>    20.0|40.0|110.0
>    30.0|70.0|110.0
>    40.0|110.0|110.0
>    sum(x)
>    110.0
>    sum(x)
>    110.0
>    SQL error near line 64: misuse of aggregate: max()
> 
> Dan.
> 
> > ===============================
> >
> > create table Test (x FLOAT);
> >
> > insert into Test values (10);
> > insert into Test values (10);
> > insert into Test values (20);
> > insert into Test values (30);
> > insert into Test values (40);
> >
> >
> > create view TestViewWeird
> > as
> > select max(t1.x) as x,
> >       sum(t2.x) as cum_sum_x,
> >       -- bad sql below but is should yield consistent results IMO
> >       (select sum(x) from Test) as total
> > from Test as t1 inner join Test as t2
> > on t2.oid <= t1.oid
> > -- only difference is expression below
> > and total * t1.x > 0
> > --
> > group by t1.oid
> > ;
> >
> > create view TestView
> > as
> > select max(t1.x) as x,
> >       sum(t2.x) as cum_sum_x,
> >       -- bad sql below but is should yield consistent results IMO
> >       (select sum(x) from Test) as total
> > from Test as t1 inner join Test as t2
> > on t2.oid <= t1.oid
> > -- only difference is expression below
> > and (select sum(x) from Test) * t1.x > 0
> > --
> > group by t1.oid
> > ;
> >
> >
> > create view TestViewSegFault as
> > select max(t1.x) as x,
> >       sum(t2.x) as cum_sum_x,
> >       -- only difference is expression below
> >       max((select sum(x) from Test)) as total
> > from Test as t1 inner join Test as t2
> > on t2.oid <= t1.oid
> > and total * t1.x > 0
> > --
> > group by t1.oid
> > ;
> >
> >
> > .headers on
> >
> > -- below queries yield exactly the same results
> > select * from TestView;
> > select * from TestViewWeird;
> >
> > -- the first query below returns a value but the second returns a  
> > null.
> > select sum(x) from TestView;
> > select sum(x) from TestViewWeird;
> >
> > -- below seg faults
> > select * from TestViewSegFault;
> >
> > ==========================================
> >
> > what are we doing wrong? Any help or pointers to appropriate docs  
> > will be greatly appreciated.
> >
> > Thanks
> >
> > Pavlos
> > _______________________________________________
> > sqlite-users mailing list
> > sqlite-users@sqlite.org
> > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> 
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to