Böyle bir sorgu mantığı nasıl yapılabilir...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
DelphiNV
Üye
Mesajlar: 54
Kayıt: 28 Oca 2005 03:15
Konum: Bursa

Böyle bir sorgu mantığı nasıl yapılabilir...

Mesaj gönderen DelphiNV »

Merhaba Arkadaşlar...

Kodlar Ürün
---------------------- ------------------------
1 Badem
123 Kuru badem
1234 Çikolatalı Badem
12345 Çilekli badem
123456 --------------
12345678 -------------
123456789 -----------------

table de kodlar adında bir alanım var. bu alandaki verilerim yukarıda olduğu gibi bir yapıda benim yapmak istediğim ise tek bir sorguda veya daha farklı şekilde en performanslı olacak şekilde mesela 1 diye sorgulattığımda en üst teki 12 diye sorgulattığımda 12 2. sıradaki 12345 dediğimdeki 4. sıradaki yani hep en üstten aşağıya doğru sorgulayacak...
123456 dediğimde en üstten aşağıya göre bakıp en yakındakini alacak..


arkadaşlar umarım anlatabilmişimdir...

herkese saygılar sevgiler....
bgoktas
Kıdemli Üye
Mesajlar: 769
Kayıt: 27 Nis 2004 10:32
Konum: istanbul

Mesaj gönderen bgoktas »

Merhabalar, soruda noktalama kurallarına dikkat etmediğinizden dolayı soruyu 2-3 kez okumak zorunda kaldım. Bu kurallara dikkat ederseniz iyi olur.

Cevaba gelirsek ; eğer sorgudan en yakın sonuçlar dönsün istiyorsanız

Kod: Tümünü seç

Select * From Tablo Where Kod like '123%'


şeklinde olabilir. Veya sadece sorguya tam olarak uyanlar gelsin istiyorsanız,

Kod: Tümünü seç

Select * From Tablo Where Kod = '123'
olabilir. Bunlar sorudan anladığım kadarıyla işinizi çözebilir. Editbox'a her karakter girişinde en yakın sonucu almak için üsteki kodu edit'in keypress'ine yazmalısınız.

Kolay Gelsin...
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Nasıl sorgulayacağı ne işinize yarayacak ki :?: Önemli olan dönecek sonuç değil mi? Ama verdiğiniz değerler indeksli bir yapıda gelsin istiyorsanız o zaman sorunun seyri değişir ve sayıların olduğu alanda en uzun alana göre sollarına boşluk ya da sıfırlar doldurmanız gerekir. O zaman da indeksleme istediğiniz şekle gelir. Bu işi de kayıt girişinde halletmeniz lazım. Forumda örneği var.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
macicek
Üye
Mesajlar: 13
Kayıt: 04 Eki 2007 11:44
Konum: K.K.T.C

Mesaj gönderen macicek »

Sorunu bir kac defa okudum.malesef cok acik bir soru degil.Ama anladigim kadariyla cevap vermeye calisicagim umarim seni dogru anlamisimdir.
Eger Kodlar alaninindaki tum veriler yukaridaki gibi bir duzendeyse sanirim asagidaki sorgu isini gorecektir.

Kod: Tümünü seç

SELECT TOP 1 * FROM TableName WHERE Kodlar LIKE '12%' ORDER BY Kodlar
Burada ilk once veriler kodlar alanina gore siralaniyor daha sonra 12 ile baslayan ilk kayit getiririliyor.
Ne yüksek bir zeka ne büyük hayal gücü Her ikisi de insani dahi yapamaz.Deha'nın ruhu sevgidir,sevgidir ve yine sevgidir.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

Kod: Tümünü seç

SELECT * FROM TABLOM WHERE  ((ALANIM >= 'ARANAN')) ORDER BY ALANIM ASC
İlk Eşit ve En yakın Sonrası için
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
DelphiNV
Üye
Mesajlar: 54
Kayıt: 28 Oca 2005 03:15
Konum: Bursa

Mesaj gönderen DelphiNV »

Arkadaşlar Hepinize Teşekkür Ederim.. Dediğiniz gibi Hallettim....
Cevapla