Eth*_*han 5 sql sql-server select conditional
我有一个带有select语句的存储过程,如下所示:
SELECT author_ID,
author_name,
author_bio
FROM Authors
WHERE author_ID in (SELECT author_ID from Books)
Run Code Online (Sandbox Code Playgroud)
这限制了具有书籍记录的作者的结果.这是Books表:
Books:
book_ID INT,
author_ID INT,
book_title NVARCHAR,
featured_book BIT
Run Code Online (Sandbox Code Playgroud)
我想要做的是有条件地选择每个作者的特色书的ID作为上述选择语句的一部分,如果没有特定作者的书籍,请选择第一本(前1)书的ID作者来自书籍表.我该如何处理?
小智 1
您可以使用对数据进行排序并使用 top 语句的子查询...
类似的东西,
SELECT author_ID,
author_name,
author_bio
, (Select top 1 Book_ID from Books where Authors.Author_ID=Books.Author_ID order by Featured_book desc)
FROM Authors
WHERE author_ID in (SELECT author_ID from Books)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
360 次 |
| 最近记录: |