I'm no expert, but I think your problem comes from the excessive
parentheses you are using.

Below's a little experiment that reproduces your syntax, with its error,
and provides an alternative simpler syntax that works. --DD

C:\Users\DDevienne>sqlite3
SQLite version 3.7.15.2 2013-01-09 11:53:05
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table a (id number);
sqlite> create table b (id number, a number);
sqlite> create table c (id number, b number);
sqlite> create view v1 as select a.id, b.id, c.id
   ...> from (c INNER JOIN (a INNER JOIN b on a.id = b.a) on c.b = b.id)
   ...> where (((a.id) = 1));
Error: no such column: a.id
sqlite>
sqlite> create view v1 as select a.id, b.id, c.id
   ...> from
   ...> a INNER JOIN b on a.id = b.a
   ...>   INNER JOIN c on b.id = c.b
   ...> where a.id = 1;
sqlite>


On Tue, Mar 12, 2013 at 3:42 PM, <ven...@intouchmi.com> wrote:

>
> Hello,
>
> Using sqlite3, I entered this create view statement:
> CREATE VIEW IF NOT EXISTS "Annies Form" AS
> SELECT Categories.Category_Name, Strings.Long_Text, Units.Long_Units,
> Limits.Lower_Limit, Limits.Upper_Limit
> FROM ((((Objects INNER JOIN (Categories INNER JOIN Object_Categories ON
> Categories.Category_ID=Object_Categories.Category_ID) ON
> Objects.Object_ID=Object_Categories.Object_ID) INNER JOIN Units ON
> Objects.Unit_ID=Units.Unit_ID) INNER JOIN Strings ON
> Objects.String_ID=Strings.String_ID) INNER JOIN Addresses ON
> Objects.Address_ID=Addresses.Address_ID) INNER JOIN Limits ON
> Objects.Limit_ID=Limits.Limit_ID
> WHERE (((Categories.Category_Type_ID)=1));
>
> sqlite3 complains that the column Categories.Category_Name does not exists.
> Yet, I can do a
> Select Categories.Category_Name From Categories
> with no problems.
>
> This create view worked as well:
> CREATE VIEW IF NOT EXISTS 'Select_Categories' AS
> SELECT Categories.Category_ID, Categories.Category_Name,
> Strings.Long_Text, Strings.Short_Text, Strings.Alternate_Text,
> Category_Types.Category_Type
> FROM (Categories INNER JOIN Strings ON Categories.String_ID =
> Strings.String_ID) INNER JOIN Category_Types ON Categories.Category_Type_ID
> = Category_Types.Category_Type_ID;
>
> As a side note, these were predefined queryDefs from an MS Access db that,
> I believe, work OK.
>
> Vance
> _______________________________________________
> 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