Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

SQL'de bir sonraki kayıt almak


Öne çıkan mesajlar

Mesaj tarihi:
Selamlar SQL'de bir sorunum var ve çözemedim gitti. Yapmaya çalıştığım olay şu;

SELECT * FROM resimler WHERE id=12

Şimdi burda ID=12 kaydını değilde ondan bir sonraki kayıdı getirmesini istiyorum. ID=13 olur 14 olur artık kaç varsa ondan sonra onu çekmem gerekiyor. SQL ile bunu yapmak mümkün mü? PHP ile yapınca sql sorgusu çok fazlalaşıyo
Mesaj tarihi:
cok sacma bir olay osla da aklıma gelen ilk fikir şu

select * from tablo where id = (select min(id) from tablo where id > 12)

ama bu da 2 kez query etmiş olur sanırsam.

şöyle dersen de olabilir:

select top 1 * from tablo where id > 12 order by id asc
Mesaj tarihi:
iyide ben onların hiç birini yapmama gerek yok muş ki =)

Aklıma sıçayım WHERE id > 12 yaptıgımda zaten bir sonraki kaydı alıyor. Fazla çalışmamam gerekir.
Mesaj tarihi:
top 1 * dersen daha hızlı olur ama, yalnızca en üstteki kayıdı almış olursun. order by id asc de şöyle gerekebilr, bir şekilde modifiye etmişsen tablonu ve sıra bozulmuşsa 12 id'li kayıttan sonra ilk gördüğü kayıt 13 değil de 453 oabilir.
Mesaj tarihi:
oncelikle parameter gondermek gerekir, stored procedure oldugunu varsayarsak

@id as int
select * from table_name where id = (@id + 1)

degilse

declare @id as int
set @id = @id + 1

select * from table_name where id = @id

yada sorguyu webserverdan yolluyosan direk +1 ekle ole yolla.
Mesaj tarihi:
Perfectionist said:

PHP güzel birşey ama. Arada faydalanmak lazım :D


PHP ile yapmak kolay ama 3-4 tane ayrı ayrı sql sorgusu içinde kontrol yapmak gerekiyor.
×
×
  • Yeni Oluştur...