【发布时间】:2021-03-21 23:24:44
【问题描述】:
论坛。我正在尝试为我当地的书店运行 SQL。问题是显示最后 N 个学生以及他们订购的所有书籍。
我的尝试:
CREATE TABLE books (
id INTEGER,
name TEXT,
genre TEXT,
pages INTEGER,
price INTEGER
);
INSERT INTO books (id, name, genre, pages, price)
VALUES
(1, name_1, genre_1, 100, 10),
(2, name_2, genre_2, 200, 20),
(3, name_3, genre_3, 300, 30);
--etc rows here
CREATE TABLE orders (
id INTEGER,
name TEXT,
id_book INTEGER,
date INTEGER --in SQLite INTEGER for a date is okay
);
INSERT INTO orders (id, name, id_book, date)
VALUES
(1, name_1, id_book_1, date_1),
(2, name_2, id_book_2, date_2),
(3, name_3, id_book_3, date_3);
--etc rows here
WITH last_students AS(
SELECT orders.name
FROM orders
ORDER BY orders.id DESC
LIMIT 3) --creates temp table with last 3 names of students
SELECT orders.name, books.name
FROM books
INNER JOIN last_students
ON books.id = last_students.id_book;
代码可以吗?语法检查仅在第 8 行显示错误,我没有得到。提前谢谢你
【问题讨论】:
标签: sql sqlite join common-table-expression