Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Veritabanları & SQL

Cevapla
 
LinkBack Seçenekler
Eski 09/06/2005, 19:04   #1 (permalink)
...
 
Üyelik Tarihi: 10/2004
Yer: İstanbul
Mesaj: 752
Varsayılan sql sorgusu

merhaba arkadaşlar bir sorum olacak
veritabanımda numara sütununda aşağıdaki gibi gelişigüzel ama sıralı numaralar kayıtlı (diğer sütunlarda var tabiki)

numara
233
237
238
239
245
246
248
250
251
252
gibi ...

benim istediğim ekrana aşağıdaki gibi bir çıktı almak

233 var
234 yok
235 yok
236 yok
237 var
238 var
239 var
240 yok
241 yok
242 yok
243 yok
244 yok
245 var
246 var
247 yok
248 var
249 yok
250 var
251 var
252 var


başlangıç rakamı belli değil yani 233 ilede başlayabilir 54433 ilede başlayabilir ama sıraladığım gibi seri halde gidiyor. buna uygun sql sorgusu ne olabilir.
şimdiden çok teşekkürler
__________________
<%if instr(1,","&replace(Eid," ",",")&",",","&rs("id")&",")<>"0" then%>selected<%end if%>
selected hatta değil   Alıntı Yaparak Yanıtla
Eski 09/06/2005, 19:21   #2 (permalink)
Luke is back...
 
mkarabulut Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2002
Yer: ../Dark_Side
Mesaj: 2,443
Varsayılan

Hangi veritabanını kullanıyorsun ?

Şunun için soruyorum : Bu tür bir kayıt setini tek bir sorgu ile yapmak oldukça zor olacaktır,o zaman uygulama tarafında yapılması daha uygun olur.
Fakat MS SQL Server veya Oracle gibi CREATE FUNCTION, CREATE PROCEDURE yazımlarını destekleyen bir veritabanı kullanıyorsan bu işi bir fonksiyonla kolayca halledebilirsin.
__________________
Do or do not. There is no try.
mkarabulut hatta değil   Alıntı Yaparak Yanıtla
Eski 09/06/2005, 20:07   #3 (permalink)
...
 
Üyelik Tarihi: 10/2004
Yer: İstanbul
Mesaj: 752
Varsayılan

asp ve ms access kullanıyorum
__________________
<%if instr(1,","&replace(Eid," ",",")&",",","&rs("id")&",")<>"0" then%>selected<%end if%>
selected hatta değil   Alıntı Yaparak Yanıtla
Eski 13/06/2005, 18:02   #4 (permalink)
naesse
misafir
 
Mesaj: n/a
Varsayılan

access ile subquery kullanmak ne kadar verimli olur bilinmez ama şöyle bir çözüm önerebilirim

senin tablonda bulunan sıralı sayılar tbl_data isimli tabloda bulunsun ve sayıların bulunduğu alan sid olsun.

başka bir tablo ekliyorum sayilar isminde tek bir alanı olan ve bu alanda 1 den n e kadar sayilar var, başka bir şey yok..alanın ismi de sayi

sorguda bu şekilde

SELECT sayilar.sayi, IIf(IsNull(tbl_data.sid),'yok','var') AS ack
FROM sayilar LEFT JOIN tbl_data ON sayilar.sayi = tbl_data.sid

olunca 1 den n e kadar var yok gelir
1 yok
2 yok
3 yok
4 var

SELECT sayilar.sayi, IIf(IsNull(tbl_data.sid),'yok','var') AS ack
FROM sayilar LEFT JOIN tbl_data ON sayilar.sayi = tbl_data.sid
where sayi between (select min(sid) from tbl_data) and (select max(sid) from tbl_data)

olunca tbl_data daki en küçük değer ile en büyük değer arasındaki sayılar için gelecek
4 var
5 var
6 yok
7 yok
8 var

gibi
  Alıntı Yaparak Yanıtla
Eski 13/06/2005, 18:45   #5 (permalink)
Luke is back...
 
mkarabulut Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2002
Yer: ../Dark_Side
Mesaj: 2,443
Varsayılan

Var veya yok'u anlamak için arkadaşın önerdiği yolu deneyebilirsin, fakat bana yine de en mantıklı olanı uygulama kısmında bu işi halletmek gibi geliyor. Çünkü bu durumda işlerin artacak (mesela o tabloyu da ara ara güncellemen gerekecek sayı artımı için)

İyi çalışmalar
__________________
Do or do not. There is no try.
mkarabulut hatta değil   Alıntı Yaparak Yanıtla
Eski 14/06/2005, 10:14   #6 (permalink)
...
 
Üyelik Tarihi: 10/2004
Yer: İstanbul
Mesaj: 752
Varsayılan

naesse yazdıkların için teşekkürler.

Alıntı:
mkarabulut, mesajından alıntı:
Var veya yok'u anlamak için arkadaşın önerdiği yolu deneyebilirsin, fakat bana yine de en mantıklı olanı uygulama kısmında bu işi halletmek gibi geliyor. Çünkü bu durumda işlerin artacak (mesela o tabloyu da ara ara güncellemen gerekecek sayı artımı için)
Arkadaşın yazdıklarını henüz deneyemedim ama daha sonradan aklıma bi yöntem geldi sizinlede paylaşarak olup olmayacağını soracaktım.

numara bölümündeki sayıların en büyüğü ile en küçükü arasındaki fark kadar bi döngü oluşturup bu döngünün içinde var ya da yok diye yazacağım.


sorunlar
var - yok sadece bir örnek ben tabiki başka işlemler yapacağım.
benim yukarıda dediğim yöntemi uygulayamıyorum yine şöyle bir sorunum var numara dediğim değerler sistemde fatura numarası olarak kayıtlı. ve bazı yerlerde hem rakam hem de harf olduğu yerlerde var.
ve yine girişler kullanıcılar tarafından yapıldığından yanlışlık çok oluyor yani fatura numarası olarak girlmesi gereken yere yanlışlıkla tarih giriliyor.
fatura numarası girilmesi gereken yer bazen boş bırakılıyor.


numara dediğim alan metin olarak tanımlı sayı değil.
yardımlarınız için saolun
__________________
<%if instr(1,","&replace(Eid," ",",")&",",","&rs("id")&",")<>"0" then%>selected<%end if%>
selected hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
sql sorgusu msk1977 PHP 1 11/04/2006 13:41
sql sorgusu msk1977 PHP 3 10/04/2006 12:00
SQL sorgusu... rccinar Veritabanları & SQL 5 19/05/2005 12:27
PHP Sorgusu zinnat PHP 8 08/12/2004 00:58
sql sorgusu... Hard`n`Dark Veritabanları & SQL 7 12/11/2002 18:23


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 23:55.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net