Not sure what's wrong with this SQL; it works fine with postgresql:

sqlite> SELECT * FROM books LEFT OUTER JOIN (users JOIN loans ON users.name=
loans.user_name) ON books.id = loans.book_id;
SQL error: no such column: loans.book_id

The table definitions are as follows:

CREATE TABLE books (
   id                   integer PRIMARY KEY,
   title                text NOT NULL,
   published_year       char(4) NOT NULL,
   authors              text NOT NULL
);

CREATE TABLE users (
   name                 varchar(32) PRIMARY KEY,
   email                varchar(128) NOT NULL,
   password             varchar(128) NOT NULL,
   classname            text,
   admin                int NOT NULL -- 0 = false
);

CREATE TABLE loans (
   book_id              int PRIMARY KEY REFERENCES books(id),
   user_name            varchar(32) references users(name)
       ON DELETE SET NULL ON UPDATE CASCADE,
   loan_date            date DEFAULT current_timestamp
);

Reply via email to