sql de istenen kayıt numarasını bulma

Katılım
17 Mart 2008
Mesajlar
12
Excel Vers. ve Dili
2003, turkce
bir tabloda id numarası 1400 olan kaydı seçmek için
select * from tabloadi where id=1400
cümleciği kullanılır.
id si 1400 den önce olan ilk kayıt ile (1399 gibi), id si 1400 den sonra olan ilk kaydı (1401 gibi) bularak tek tablo sonucu gibi ekrana getiren sql saklı yordamı (stored procedure) nasıl olur?
Uyarı: id si 1399 olan kayıt silinirse, 1399 id numarası başka bir kayda verilmez. 1399 id li kayıt yok anlamına gelir. Aynı şekilde 1401 id li kayıt silinirse, eklenen yeni kayda "1401 nolu id silinmişti bu id numarası boşta o verilecek", şeklinde bir kaide yoktur. Dolayısıyla 1400 den önceki ve sonraki id numaralarının karşılığı kesin olarak şu sayıdır diyemiyoruz.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,286
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
Bence SP lere hiç bulaşmayın. Standart sorgu ile yapın.

Kod:
select top 1 * from tabloadi where id < 1400 order by id desc
union
select top 1 * from tabloadi where id > 1400 order by id
 
Üst