I don't believe there's a simple single-query method of constructing your list. You can accomplish it using a programming language of your choice, or you can use a procedure in SQL Server to produce your output.
The below is not going to translate exactly for you, but it should give you the first step. I constructed my own temporary table to approximate yours, but the field names are different and datatypes are what they need to be to make the following code work. You can, of course, cast your field values to the appropriate types.
declare @bookid int
declare @firstSerial int
declare @lastSerial int
set @bookid = 1
select @firstSerial = firstSerial, @lastSerial = lastSerial from books where bookid = @bookid
declare @currentSerial int
set @currentSerial = @firstSerial
declare @bookserials table
(
BookID int,
Serial int
)
While @currentSerial <= @lastSerial
BEGIN
Insert @bookserials (BookID, Serial) values (@bookid, @currentSerial)
set @currentSerial = @currentSerial + 1
END
Select * from @bookserials