At 13:27 28.05.2009, D. Richard Hipp wrote: >On May 28, 2009, at 7:01 AM, Ralf Junker wrote: > >> Hello! >> >> Up to version 3.5.3, SQLite would happily execute this SQL without >> complaints: >> >> drop table if exists t; >> >> create table t (c); >> >> select >> (select count() from t t_inner >> group by t_outer.c) >> from t t_outer; >> > >This query does not make any sense. What are you trying to do?
The above query is just a shortened version to demonstrate the backward incompatibilty. The original is far longer and calculates counts and average counts: DROP TABLE IF EXISTS RemSymptoms; DROP TABLE IF EXISTS SymCategory; CREATE TABLE RemSymptoms (SymId); CREATE TABLE SymCategory (CatID, SymId); SELECT SymCategory.CatID, round(1000*COUNT(*) / (SELECT COUNT(*) FROM SymCategory TempSymCategory WHERE TempSymCategory.CatId=SymCategory.CatID GROUP BY SymCategory.CatID)) AS CatAvgRemCount, (SELECT COUNT(*) FROM SymCategory TempSymCategory WHERE TempSymCategory.CatId=SymCategory.CatID GROUP BY SymCategory.CatID) AS CatSymCount FROM RemSymptoms INNER JOIN SymCategory ON RemSymptoms.SymId=SymCategory.SymId GROUP BY SymCategory.CatID; A user found that this query no longer works after upgrading to SQLite 3.5.4 or later. Ralf _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users