SQL Equivalent ‘Next’ and ‘Previous’

Question:
I have a database that I would like to navigate on the primary key in alphabetical order using SQL statements. I would like to find out if there is a way in SQL to select the record whose primary key is “next” or “previous” alphabetically relative to a given record.

Answer:
The way that closest simulates these actions would be to use a cursor. Cursors can be expensive in resources, but they are useful.

For the sake of simplicity, I will assume that the primary key is name.

select min(name) from table where name > “value we were up to” is the equivalent of next.

select max(name) from table where name < "value we were up to" is the equivalent of previous.

By the way, are you using version 7 of SQL Server or 6.5?

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: