Tsql 如何从Calibre数据库查询?
正如您所知,它有一个名为metadata.db的数据库,由SQLite组成, 我想查询具有以下列的所有书籍:Tsql 如何从Calibre数据库查询?,tsql,calibre,Tsql,Calibre,正如您所知,它有一个名为metadata.db的数据库,由SQLite组成, 我想查询具有以下列的所有书籍: bookId Title Date Size Rating Tags Publisher PublishedDate Author Cover ------ ----- ---- ---- ------ ---- --------- ------------- ------ ----- 但是,
bookId Title Date Size Rating Tags Publisher PublishedDate Author Cover
------ ----- ---- ---- ------ ---- --------- ------------- ------ -----
但是,该数据库包含以下表:
Books Table
-----------
Name
id
title
sort
timestamp
pubdate
series_index
author_sort
isbn
lccn
path
flags
uuid
has_cover
last_modified
Authors Table
-------------
Name
id
name
sort
link
Publishers Table
----------------
Name
id
name
sort
它们之间没有关系,我如何获取我的查询?在源代码python中找到这一点,有一些SQL片段可以帮助您:在源代码python中找到这一点,有一些SQL片段可以帮助您:
SELECT id, title,
(SELECT name FROM books_authors_link AS bal JOIN authors ON(author = authors.id) WHERE book = books.id) authors,
(SELECT name FROM publishers WHERE publishers.id IN (SELECT publisher from books_publishers_link WHERE book=books.id)) publisher,
(SELECT rating FROM ratings WHERE ratings.id IN (SELECT rating from books_ratings_link WHERE book=books.id)) rating,
(SELECT MAX(uncompressed_size) FROM data WHERE book=books.id) size,
(SELECT name FROM tags WHERE tags.id IN (SELECT tag from books_tags_link WHERE book=books.id)) tags,
(SELECT format FROM data WHERE data.book=books.id) formats,
isbn,
path,
pubdate
FROM books