s.a.
arkadaşlar kafam durdu galiba. şu sql cümlesini yazamadım.
(firebird 2.0 kullanıyorum.)
tablodaki kayıtlar şöyle :
kod tip
------- ---
2 1
25 1
250 1
251 1
252 1
252-01 2
252-02 2
253 1
253-01 2
yukarıdaki tablodan önce tipi 2 olup 252 ile başlayan kayıtlar ile
(252-01 252-02) sonra bu sql den dönen kayıtlarla "like" ile eşlenen
tipi 1 olan kayıtları (2 25 252 ) getirmek istiyorum. sonuç şöyle olmalı:
2
25
252
252-01
252-02
şimdiden eyvallah.
SQL cümlesi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- Ürettiğin ama sonuç alamadığın SQL cümlesi nedir ?
demişsin... Tip = "2" AND Kod like "252%" olanları getirdik diyelim, burada gelen sonuçlar içinde Tip = "1" olanları aramak anlamsız değil mi ?
sonucu istemişsin...
- Desen ki, hem Tip = "1" olanların tümünü istiyorum, hem de Tip = "2" olanlardan sadece kodu 252 ile başlayanları istiyorum o zaman basit bir OR bağlacı ile işi halledebilirsin ancak Tip=1 Kod=253'ü bertaraf edecek bir talebin olmamış...
- Sonuçtan yola çıkılırsa
gibi bir sorgu çıkıyor... Ne istediğini tam olarak tesit edersen sorguda başarılı olursun
@edoyuko yazdı:yukarıdaki tablodan önce tipi 2 olup 252 ile başlayan kayıtlar ile
(252-01 252-02) sonra bu sql den dönen kayıtlarla "like" ile eşlenen
tipi 1 olan kayıtları (2 25 252 ) getirmek istiyorum. sonuç şöyle olmalı:
Kod: Tümünü seç
kod tip
------- ---
2 1
25 1
250 1
251 1
252 1
252-01 2
252-02 2
253 1
253-01 2
Kod: Tümünü seç
kod tip
------- ---
2 1
25 1
252 1
252-01 2
252-02 2
- Desen ki, hem Tip = "1" olanların tümünü istiyorum, hem de Tip = "2" olanlardan sadece kodu 252 ile başlayanları istiyorum o zaman basit bir OR bağlacı ile işi halledebilirsin ancak Tip=1 Kod=253'ü bertaraf edecek bir talebin olmamış...
- Sonuçtan yola çıkılırsa
Kod: Tümünü seç
Kod like "252%" OR ( ( Kod = "25" OR Kod = "2" ) AND (Tip = "1") )
sn.arman
uzun olmasın diye çok detay yazmadım.haklı olarak anlaşılamadı.bir rapor
parametre ekranı düşünün. kullanıcı edit1 (başlangıç) ve edit2(bitiş) ile raporda görmek istediği kodları seçiyor. edit1 de 252-01 edit2 de 252-02 yazıyor. sql şöyle oluyor:(select * from kart where kod>=252-01 and kod<=252-02) problem yok.252-01 ve 252-02 raporda görünüyor. sıkıntı şu: tip1 olanlar tip2 lerin üst hesabı olduğu için kullanıcının seçtiği tip2 lerin üst hesaplarıda raporda gözükmesi gerekiyor.yani sqlden seçilen tip2 lerle eşleşen tip1lerde dönmeliki raporda çıksın. örneğin kullanıcı raporda sadece 252-01 görmek istese bile bunun üst hesapları ( 2 25 252) da raporda çıkmak zorunda. yoksa rapor anlamsız oluyor.
2 duran varlıklar
25 maddi duran varlık
252 binalar
252-01 istanbuldaki bina
252-02 ankaradaki bina
253 makinalar
253-01 tekstil makinası
253-02 çorap makinası
böyle bir tablodan kullanıcı sadece 252-02 kodlu kaydı görmek isterse bile
rapor şöyle görünmeli : (muhasebe gereği böyle)
2 duran varlıklar tip1
25 maddi duran varlık tip1
252 binalar tip1
252-02 ankaradaki bina tip2
rapor için baş. ve bitiş kıstası konmazsa sıkıntı yok(çünkü sql:select * from kart). ama kıstas konursa oluşan sql (select * from kart where kod>=252-01 and kod<=252-01) olduğundan üst hesaplar (2 25 252) gelmiyor. umarım anlatabilmişimdir. sabrınız için teş.ederim. s.a.
uzun olmasın diye çok detay yazmadım.haklı olarak anlaşılamadı.bir rapor
parametre ekranı düşünün. kullanıcı edit1 (başlangıç) ve edit2(bitiş) ile raporda görmek istediği kodları seçiyor. edit1 de 252-01 edit2 de 252-02 yazıyor. sql şöyle oluyor:(select * from kart where kod>=252-01 and kod<=252-02) problem yok.252-01 ve 252-02 raporda görünüyor. sıkıntı şu: tip1 olanlar tip2 lerin üst hesabı olduğu için kullanıcının seçtiği tip2 lerin üst hesaplarıda raporda gözükmesi gerekiyor.yani sqlden seçilen tip2 lerle eşleşen tip1lerde dönmeliki raporda çıksın. örneğin kullanıcı raporda sadece 252-01 görmek istese bile bunun üst hesapları ( 2 25 252) da raporda çıkmak zorunda. yoksa rapor anlamsız oluyor.
2 duran varlıklar
25 maddi duran varlık
252 binalar
252-01 istanbuldaki bina
252-02 ankaradaki bina
253 makinalar
253-01 tekstil makinası
253-02 çorap makinası
böyle bir tablodan kullanıcı sadece 252-02 kodlu kaydı görmek isterse bile
rapor şöyle görünmeli : (muhasebe gereği böyle)
2 duran varlıklar tip1
25 maddi duran varlık tip1
252 binalar tip1
252-02 ankaradaki bina tip2
rapor için baş. ve bitiş kıstası konmazsa sıkıntı yok(çünkü sql:select * from kart). ama kıstas konursa oluşan sql (select * from kart where kod>=252-01 and kod<=252-01) olduğundan üst hesaplar (2 25 252) gelmiyor. umarım anlatabilmişimdir. sabrınız için teş.ederim. s.a.