Hello, When executing a set of queries written some years ago (let's call it a "regression test"!), I found that one of them now fails with a strange message. It executes correctly until version 3.8.5 (perhaps later) but fails from version 3.10 (perhaps earlier).
I have simplified the problem as follow: - table P(PID) represents products, - table D(PID,QTY) represents order details (PID identifies a product and QTY specifies the quantity ordered of this product). In SQL: create table P(PID integer not null primary key); create table D(PID integer not null references P, QTY integer not null); insert into P values (1),(2),(3),(4); insert into D values (1,5),(1,10),(3,6),(3,2),(4,12); The following query computes, for each product, the sum of quantities ordered. It also includes quantity 0 for products not referenced by D: select PID,TOTALQ from (select PID, sum(QTY) as TOTALQ from D group by PID union select PID, 0 as TOTALQ from P where PID not in (select PID from D) ) order by PID; As expected, it provides, through the SQLite3 shell: 1|15 2|0 3|8 4|12 The problem arises when we add a "where" clause involving computed column TOTALQ: select PID,TOTALQ from (select PID, sum(QTY) as TOTALQ from D group by PID union select PID, 0 as TOTALQ from P where PID not in (select PID from D) ) where TOTALQ < 10 order by PID; With SQLite 3.10 and 3.12.2 the query fails with the message: "Error: misuse of agregate: sum()" while with SQLite 3.8.5, it provides the correct answer: 2|0 3|8 Rewriting the "from" clause as a "with" query or creating a view (with and without the problematic "where" clause) then querying show the same behaviour. It also appears that removing the second argument of the union "solves" the problem. Has anybody observed this problem? Thanks for future help Jean-Luc Hainaut Prof. Jean-Luc Hainaut Facult? d'Informatique University of Namur Rue Grandgagnage, 21 B-5000 - Namur (Belgium) E-mail : jlhainaut at info.fundp.ac.be, jean-luc.hainaut at unamur.be http://www.info.fundp.ac.be/libd