【发布时间】:2011-02-13 22:16:24
【问题描述】:
我有一个带有 select 语句的存储过程,如下所示:
SELECT author_ID,
author_name,
author_bio
FROM Authors
WHERE author_ID in (SELECT author_ID from Books)
这会将结果限制为拥有书籍记录的作者。这是 Books 表:
Books:
book_ID INT,
author_ID INT,
book_title NVARCHAR,
featured_book BIT
我想要做的是有条件地选择每个作者的特色书的 ID 作为上面 select 语句的一部分,如果给定作者的书都没有特色,则选择第一本书的 ID(前 1 ) 由书表中的作者撰写的书。我该如何处理?
【问题讨论】:
-
你所说的“第一本”书是什么意思?由什么命令的?你的意思是获取任何本书吗?
-
正确 - 实际上,该作者的任何书籍。我的意思是按 book_ID 排序的前 1 个。
标签: sql sql-server select conditional