Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何从该数据库中获取标题最短的书籍的作者姓名?_Sql_Postgresql - Fatal编程技术网

Sql 如何从该数据库中获取标题最短的书籍的作者姓名?

Sql 如何从该数据库中获取标题最短的书籍的作者姓名?,sql,postgresql,Sql,Postgresql,假设我有一个包含以下表的数据库 authors (author_id TEXT, name TEXT) books (isbn TEXT, publisher TEXT, title TEXT, publication_year INTEGER) copies (copy_id INTEGER, isbn TEXT) authorship (isbn TEXT, author_id INTEGER) categories (category_id INTEGER, category_na

假设我有一个包含以下表的数据库

authors (author_id TEXT, name TEXT)

books (isbn TEXT, publisher TEXT, title TEXT, publication_year INTEGER)

copies (copy_id INTEGER, isbn TEXT)

authorship (isbn TEXT, author_id INTEGER)

categories (category_id INTEGER, category_name TEXT)

in_category (isbn TEXT, category_id INTEGER)
我想知道那些书名最短的书的作者的名字。我想我可以从isbn中找到最短书名的书,得到作者id,然后从中得到名字


如果您能帮我解决这个问题,我将非常高兴。

问题出在哪里?你已经画好了路

SELECT
    b.title,
    a.name
FROM
    books b
JOIN authorship as ON b.isbn = as.isbn
JOIN authors a ON as.author_id = a.author_id
ORDER BY length(b.title)
LIMIT -- number of books you want

向我们展示您添加了一些示例数据,编写了哪些SQL,以及您面临的问题。请阅读社区指南我理解这一点,但如何修改它以仅显示标题最短的书籍的标题?假设标题最短的书籍都有未明确给出的长度为n的标题。好的,您可以通过lengthb.title更改顺序,其中lengthb.title=从书籍中选择minlengthtitle并删除最后一行。