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
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users